GSonを使ったjsonの逆シリアル化ではいくつかの困難があります。誰かが私を助けてくれることを願っています。私は、次のJSONをデシリアライズしたいGsonを使ったジェネリックコレクションの非直列化
スニペット:
{
"fieldA": "valueA",
"myCollection": {
"AnotherClass": [
{
"objectAfieldA": "valueB",
"objectAfieldB": "valueC"
},
{
"objectAfieldA": "valueD",
"objectAfieldB": "valueE"
}
]
}
}
対応する総合的なクラスがある次のフィールド:今
...
String fieldA;
List<AnotherClass> = new ArrayList<AnotherClass>();
....
を、私の問題は、私は逆シリアル化するとき、なし、fromJson(jsonSample, resultContainer.class)
を使用していることですList<T>
要素はすべて問題ありませんが、含まれているリストを含めるとNullPointerException
と表示されます。私は、ジェネリック型のコレクションと、TypeToken
の使用を扱う方法についてお読みになりましたが、私のコレクションが別のクラスの一部である場合、この知識を適用することはできません...
本当にありがとうございます。
あなたの仕事からあなたのコードの例を取った場合は、リストのフィールドに名前がないとして、それがコンパイルされません。それが問題でない場合は、[http://stackoverflow.com/questions/5554217/google-gson-deserialize-listclass-object-generic-type](http://stackoverflow.com/questions)をご覧ください。/5554217/google-gson-deserialize-listclass-object-generic-type)、[http://stackoverflow.com/questions/2496494/library-to-encode-decode-from-json-to-java-util-マップ](http://stackoverflow.com/questions/2496494/library-to-encode-decode-from-json-to-java-util-map) – oberger
あなたは正しいです、私は名前フィールドが欠けていました。そして、この問題は次の答えで解決されます。 –