Слияние файлов json в java

У меня 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, или пока вы просто обрабатываете ее как строку?

Aaron 24.08.2018 14:12

Путем A) изучения того, как работает парсер JSON (gson, jackson), затем B) использования такого анализатора для чтения этих данных в память C) с последующим «слиянием» в памяти с D), наконец, записать объединенный контент обратно в файл . Извините, но ваш вопрос слишком общий. Мы поможем вам, когда у вас есть конкретные вопросы относительно различных шагов, но мы не собираемся рисовать для вас карту и писать код для вас.

GhostCat 24.08.2018 14:13
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
4
2
42
1

Ответы 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

Другие вопросы по теме