0

我有两个 JsonObject 具有相同的键但不同的值。我想将两个 JsonObject 与另一个 JsonObject 中的相同键合并。

JSONObject a = new JSONObject("{\"data\": [ {\"empId\": 1,\"deptId\": 2},{\"empId\": 3,\"deptId\": 4}]}");
JSONObject b = new JSONObject("{\"data\": [ {\"empId\": 7,\"deptId\": 8},{\"empId\": 9,\"deptId\": 10}]}");

结果应该是这样的。

{\"data\": [ {\"empId\": 1,\"deptId\": 2},{\"empId\": 3,\"deptId\": 4},{\"empId\": 7,\"deptId\": 8},{\"empId\": 9,\"deptId\": 10}]}

请让我知道如何做到这一点。

4

1 回答 1

3

用于JSONArray存储多个JSONObject. 使用它无需担心为此分配密钥,JSONObject例如

JSONObject a = new JSONObject("{\"data\": [ {\"empId\": 1,\"deptId\": 2},{\"empId\": 3,\"deptId\": 4}]}");
JSONObject b = new JSONObject("{\"data\": [ {\"empId\": 7,\"deptId\": 8},{\"empId\": 9,\"deptId\": 10}]}");

编辑

JSONArray jArr_A= a.getJSONArray("data");

JSONArray jArr= new JSONArray();
for(int i=0;i<jArr_A.length();i++){
     jArr.put(jArr_A.getJSONObject(i));
}

现在换一个对象

jArr_A= b.getJSONArray("data");

for(int i=0;i<jArr_A.length();i++){
     jArr.put(jArr_A.getJSONObject(i));
}

现在检查你的 jArr 对象的长度是否加倍。

JSONObject mainJson = new JSONObject();
mainJson.put("data", jArr);
于 2013-04-24T09:42:26.130 回答