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




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
Можете ли вы подтвердить, что работаете с java? (тег должен прояснить, но люди иногда путают java и javascript ...). Если да, то используете ли вы какую-либо библиотеку, такую как Jackson или Gson, для синтаксического анализа JSON, или пока вы просто обрабатываете ее как строку?