JSONコードをGSONからJavaにパースしようとしています。私は前に同様の例を作り、それが完全に働いたが、私は私のプログラムで実装しようとすると、エラーを与えています この上本当に立ち往生 "スレッド "main"の例外java.lang.NullPointerException - JSONからJavaへ
'Exception in thread "main" java.lang.NullPointerException
at personality.Child.toString(Child.java:25)
at java.lang.String.valueOf(String.java:2994)
at java.io.PrintStream.println(PrintStream.java:821)
at personality.Personality.main(Personality.java:48)
、私は研究を行っているし、まだ見つけることができません透明な溶液。だから私はあなたたちに頼んでいる。
マイコード:
パーソナリティメインクラス
public class Personality {
public static void main(String[] args) throws IOException {
// TODO code application logic her
Gson gson = new Gson();
Child C = gson.fromJson(new FileReader("user.json"), Child.class);
System.out.println(C);
}
}
ユーザークラス
public class User {
public String category;
public String id;
public String name;
public double percentage;
public double sampling_error;
//Constructor
public User(String category, String id, String name , double percentage, double sampling_error) {
this.category = category;
this.id = id;
this.name = name;
this.percentage = percentage;
this.sampling_error = sampling_error;
}
@Override
public String toString() {
return "Category " + category + " : id = " + id + " name = " + name;
}
}
託児クラス
public class Child {
public ArrayList <User> child; //Assign arraylist User to Child class
// toString override - not related to JSON processing, just included for debugging purposes
@Override
public String toString() {
StringBuilder A = new StringBuilder();
A.append("Number of childrens = " + child.size() + "\n"); //Error points to here
for (User U : child) {
A.append(U.toString() + "\n"); //assigns Planet To string to
}
return A.toString();
}
JSONコード
{
"children": [
{
"category": "personality",
"id": "Adventurousness",
"name": "Adventurousness",
"percentage": 0.7871810497070462,
"sampling_error": 0.0535169534
},
{
"category": "personality",
"id": "Emotionality",
"name": "Emotionality",
"percentage": 0.9806198117683198,
"sampling_error": 0.0500385256
},
{
"category": "personality",
"id": "Liberalism",
"name": "Authority-challenging",
"percentage": 0.9958295966962101,
"sampling_error": 0.08735455339999999
}
]
}
私はNullPointExceptionはそれはit.Andを解決する方法がわからない発生した理由を、私はknidのを知って、多くのことを検索しましたが、この問題を解決することを助けることができる質問を見つけることができませんはい、私はこの例を見てきました - What is a NullPointerException, and how do I fix it?ですが、実際にはこの文脈ではあまり役に立ちません。ありがとうございます:)
'child'は' null'なので 'Child'クラスは' child'クラスの名前がそれに合わない 'child'フィールドです。一方、NullPointerExceptionです。だから、私はあなたのマッピングに問題があると思います。私は 'Child'クラスの' children'フィールドを見ません。 – davidxxx