我在解析JSON方面遇到了问题。我收到了像这样的webservice的回复:
HTTP_TRANSPORT = new com.google.api.client.http.javanet.NetHttpTransport()
我尝试将其解析为PART对象并将其添加到List但是某处我犯了错误,因为对象没有被解析。
{
"data": {
"1": [
{
"id": "2",
"name": "Szelki bezpieczeństwa",
"quantity": "1",
"note": null,
"picture_id": null,
"code": "CCCCCCCCCCCCCC"
},
{
"id": "3",
"name": "Kalosze do brodzenia, wysokie lub biodrowe",
"quantity": "2",
"note": "Do wymiany",
"picture_id": null,
"code": "DDDDDDDDDDDDDD"
}
],
"2": [
{
"id": "1",
"name": "Spodnie dla pilarza z ochroną przed przecięciem, klasa min. 1 (wg PN-EN 381-5)",
"quantity": "2",
"note": "Uszkodzone",
"picture_id": null,
"code": "DAAD086F690E1C36"
}
]
}
}
先谢谢你的帮助! :)
答案 0 :(得分:0)
答案 1 :(得分:0)
您正在尝试将地图解析为数组:
String arrayString = responseJSONObject.getJSONArray("data").toString();
尝试这样的事情:
List<JSONArray> objects = new ArrayList<>();
Iterator<String> keys = responseJSONObject.getJSONObject("data").keys();
while(keys.hasNext()) {
objects.add(responseJSONObject.getJSONObject("data").get(keys.next());
}
// rest of your stuff
或者,考虑使用GSON来解析使用POJO的JSON响应。