【问题标题】:Merging on json files in java在java中合并json文件
【发布时间】:2018-08-24 12:09:57
【问题描述】:

我有 2 个 json 文件。

JsonFile 1 看起来像这样:

{"SearchResults": [{"Source": "Indianexpress.com", "Title":"ABC","Summary":"Test"}]}

Json File 2 看起来和上面一样。

{"SearchResults": [{"Source": "Hindu.com", "Title":"XYZ","Summary":"TestABC"}]}

我必须合并这两个文件,使 Json 如下所示。

{"SearchResults": [{"Source": "Indianexpress.com", "Title":"ABC","Summary":"Test"},{"Source": "Hindu.com", "Title":"XYZ","Summary":"TestABC"}]}

请建议我如何在 java 中实现这一点

【问题讨论】:

  • 您能确认您正在使用 java 吗? (标签应该清楚,但人们有时会混淆java和javascript......)。如果是这样,您是否已经在使用任何库(例如 Jackson 或 Gson)来解析 JSON,或者到目前为止您只是将其作为字符串处理?
  • 通过 A) 学习 JSON 解析器的工作原理 (gson, jackson) 然后 B) 使用这样的解析器将数据读入内存 C) 然后在内存中“合并”到 D) 最后将合并的内容写回文件中。对不起,但你的问题基本上太宽泛了。当您对不同步骤有具体问题时,我们会为您提供帮助,但我们不会为您绘制地图并为您编写代码。

标签: java json


【解决方案1】:
   String json1 = "{\"SearchResults\": [{\"Source\": \"Indianexpress.com\", \"Title\":\"ABC\",\"Summary\":\"Test\"}]}";
   String json2 = "....";
   JSONObject jsonOb1 = new JSONObject(json1);
   JSONObject jsonOb2 = new JSONObject(json2);
   JSONArray innerArray1 = jsonOb1.getJSONArray("SearchResults");
   JSONArray innerArray2 = jsonOb2.getJSONArray("SearchResults");
   for(int i = 0; i < innerArray2.length(); i++)
   {
        innerArray1.put(innerArray2.getJSONObject(i);
   }

在这里,jsonOb1 包含合并的信息。您可以使用.toString() 方法进一步对其进行字符串化。

此方法需要 org.json 库,此库的一些教程:https://www.baeldung.com/java-org-json

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-30
    • 2011-10-23
    • 2013-01-18
    • 2019-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多