我需要反序化这个json:
A B C
2000 700 2/14/1999
1500 750 1/1/2001
1700 720 5/6/2000
3000 680 7/8/1999
4000 650 8/9/1999
但是使用改装和Gson似乎是不可能的。
{
"17": {
"entity_id": "17",
"attribute_set_id": "4",
"type_id": "virtual",
},
"18": {
"entity_id": "18",
"attribute_set_id": "9",
"type_id": "virtual"
}
}
那么,我该如何反序化这个生物呢?我可以使用哪种类型?
答案 0 :(得分:0)
这是"17"
是关键字和
{
"entity_id": "17",
"attribute_set_id": "4",
"type_id": "virtual",
}
是一个对象。
尝试HashMap。
答案 1 :(得分:0)
你可以创建一个Java类(比如Item
)来包含成员变量(entity_id
,attribute_set_id
和type_id
) - 我创建了this Gist,并且使用JSONObject
做这样的事情:
JSONObject yourJSON = new JSONObject(jsonString);
//This will iterate through 17, 18, etc
Iterator<String> keysIterator = yourJSON .keys();
while(keysIterator.hasNext()) {
String key = keysIterator.next();
JSONObject actualObj = (JSONObject)yourJSON.get(key);
//Here, supposing you had defined Item class, using Gson, you'd do this:
Item thisItem = (new Gson()).fromJson(actualObj.toString(), Item.class);
//From here you can call thisItem.getEntityId(), etc
}