在比對JSONArray 的資料時, 遇到 Set 是 JSONObject 時, 即使 key / value 一致, 但無法判斷為相同的Object, 會無法判斷是否為子集合。
某一個解法, 遇到 JSONArray 使用 JSONObject 時, 只取第一個 JSONObject 的 key 放入 set 來比對。這個解法需要取出 json object 的 keys, 並拿出第一個來使用, 解法:
JSONObject get value of first node regardless of name
https://stackoverflow.com/questions/33531041/jsonobject-get-value-of-first-node-regardless-of-name
Iterator<String> keys = jsonObject.keys();
String str_Name=keys.next();
String value = json.optString(str_Name);
其他取得keys 方法:
Iterator<String> iter = response.keys();
while (iter.hasNext()) {
String key = iter.next();
JSONObject lightObject = response.getJSONObject(key);
System.out.println("key: " + key + ", OBJECT " + lightObject);
}
或
for (final Iterator<String> iter = errors.keys(); iter.hasNext();) {
final String key = iter.next();
}