有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用java将三个json对象合并为一个

我有以下三个json对象:

object = [{name: "Mary", car: "Fiat"}];
owner= [{firstName: "Mack", lastName: "jack"},{firstName: "Steve", lastName: 
"martin"}];
children= [{firstName: "toto", lastName: "jack"},{firstName: "titi", lastName: 
"martin"}];

我正在使用JAVA,我想做的是合并三个对象,得到一个如下所示的对象:

[{"name": "Mary", "car": "Fiat",
"owner":[{"firstName": "Mack", "lastName": "jack"},{"firstName": 
"Steve","lastName": "martin"}],
"children":[{"firstName": "toto", "lastName": "jack"},{"firstName": "titi", 
"lastName": "martin"}]
}]

请帮忙


共 (2) 个答案

  1. # 1 楼答案

    您需要读取json文件并创建一个新的json文件,其中包含对新json结构的更改,我假设您已经知道如何从json文件提取数据,我将在这里留下这个代码示例,展示如何使用json。用于您的目的的数组

    import org.json.simple.JSONArray;
    import org.json.simple.JSONObject;
    
    public class jsonClass {
    
    public static void main(String[] args) {
    
        JSONObject jsonObject = new JSONObject();
    
        JSONArray jsonArray1 = new JSONArray();
        JSONObject jsonTempObject1 = new JSONObject();
        jsonTempObject1.put("name","Mary");
        jsonTempObject1.put("car","Fiat");
        jsonArray1.add(jsonTempObject1);
    
        JSONArray jsonArray2 = new JSONArray();
        JSONObject jsonTempObject2 = new JSONObject();
        jsonTempObject2.put("firstName","Mack");
        jsonTempObject2.put("lastName","Jack");
        jsonArray2.add(jsonTempObject2);
    
        jsonObject.put("object", jsonArray1);       
        jsonObject.put("owner", jsonArray2);
    
        System.out.println(jsonObject.toString());
        }
    }
    

    您将获得以下结果:

    {
    "owner":[{"firstName":"Mack","lastName":"Jack"}],
    "object":[{"car":"Fiat","name":"Mary"}]
    }
    
  2. # 2 楼答案

    使用以下代码

    JSONObject Obj1 = (JSONObject) jso1.get("Object1");
    JSONObject Obj2 = (JSONObject) jso2.get("Object2");
    JSONObject combined = new JSONObject();
    combined.put("Object1", Obj1);
    combined.put("Object2", Obj2)