今はGsonを使用してJSONをObjectに逆シリアル化しています。JSONをHashMap属性のオブジェクトに逆シリアル化するにはどうすればよいですか?
JSONは次のようになります。
[
{
"hash":"c8b2ce0aacede58da5d2b82225efb3b7",
"instanceid":"aa49882f-4534-4add-998c-09af078595d1",
"text":"{\"C_FirstName\":\"\",\"ContactID\":\"2776967\",\"C_LastName\":\"\"}",
"queueDate":"2016-06-28T01:03:36"
}
]
そして、私のエンティティオブジェクトは、次のようになります。
public class AppCldFrmContact {
public String hash;
public String instanceid;
public HashMap<String,String> text;
public String queueDate;
}
text
がString
データ型だった場合、すべてが正常になります。しかし、私は自分が望むように異なるフィールドにアクセスすることはできません。
与えられたJSONをオブジェクトに変換する方法はありますか?
エラーは次のとおりです。Expected BEGIN_OBJECT but was STRING at line 1 column 174
これは解析できない場合はわかります。
解析を行うコード:あなたのために
Type listType = new TypeToken<List<AppCldFrmContact>>() {
}.getType();
List<AppCldFrmContact> contacts = gson.fromJson(response.body, listType);
「text」フィールドは、JSONオブジェクトではなくJSONオブジェクトを含むStringです。 – Robert
JSONオブジェクトの場合、どのように見えますか?それから、与えられたJSONを、私が望むオブジェクトに構文解析する方法はありますか? –