我需要将字符串转换为json,但是遇到了问题。 我的json字符串如下:
{"serverId":2,"deviceId":736,"analysisDate":"2017-05-11T07:20:27.713Z","eventType":"Logs","eventAttributes":[{"name":"level","value":"INFO"},{"name":"type","value":"Video Blocked On"},{"name":"cameraId","value":"722"},{"name":"userId","value":"1"}]}
我的代码:
try {
JSONObject object = new JSONObject(jsonString);
JSONArray array = object.getJSONArray("eventAttributes");
System.out.println("ARRAY: " + array);
for (int i = 0; i < array.length(); i++) {
JSONObject obj = new JSONObject(array.getJSONObject(i));
System.out.println("OBJ: " + obj);
}
} catch (JSONException ex) {
Exceptions.printStackTrace(ex);
}
数组的System.out.println是:
[{"name":"level","value":"INFO"},{"name":"type","value":"Video Blocked On"},{"name":"cameraId","value":"722"},{"name":"userId","value":"1"}]
但是如果我打印obj的结果是"{}",这样四次。所以它是正确的,因为数组有4个元素,但是为什么它是空对象?我正在使用org.json库。
谢谢
obj.toString();
API。 - Shubham Naiknew JSONObject(array.getJSONObject(i));
?array.getJSONObject(i)
已经返回了一个JSONObject
。 - Scary WombatSystem.out.println("OBJ: " + obj);
和System.out.println("OBJ: " + obj.toString());
之间有什么区别吗? - Scary Wombat