我有一个像这样的 JSON 响应:
[{"ProjectID":1,"ProjectName":"Test","UserID":[1,3,5,7],"RSID":[2,4,6,8]}]
但我需要像这样合并它:
[{"ProjectID":1,"ProjectName":"Test","RS":[{"UserID":1,"RSID":2},{"UserID":3,"RSID":4},{"UserID":5,"RSID":6},{"UserID":7,"RSID":8}
]}]
这可以做到吗?
最佳答案
i tried to solve your query in plain javascript. hope it helps you.
http://codepen.io/halimmln/pen/GjjLEW
下面的代码是使用 Java 执行相同的任务:
JSONParser parser = new JSONParser();
String oldJSON = "[{\"ProjectID\":1,\"ProjectName\":\"Test\",\"UserID\":[1,3,5,7],\"RSID\":[2,4,6,8]}]";
JSONObject newJSON = new JSONObject();
Object obj = parser.parse(oldJSON);
JSONArray mainArray = (JSONArray) obj;
JSONObject objects = (JSONObject) mainArray.get(0);
newJSON.put("ProjectID", objects.get("ProjectID"));
newJSON.put("ProjectName", objects.get("ProjectName"));
JSONArray userId = (JSONArray) objects.get("UserID");
JSONArray rsid = (JSONArray) objects.get("RSID");
JSONArray newArr = new JSONArray();
for (int i = 0; i < userId.size(); i++) {
JSONObject combine = new JSONObject();
System.out.println("inside array" + userId.get(i));
combine.put("UserID", userId.get(i));
combine.put("RSID", rsid.get(i));
newArr.add(combine);
}
newJSON.put("RS", newArr);
System.out.println("json" + newJSON.toJSONString());
关于java - 如何在 Android 中合并两个 JSON 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39585809/