Сравнение Json

#java #json #gson #jsonschema

#java #json #gson #jsonschema

Вопрос:

Мне нужна помощь. У меня есть 2 json. Json имеют структуру, подобную следующим продуктам: [ { Productcode:alpha, Функции: [{ FunctionCode:beta, Ресурсы: [ {Res1}, {Res2}] }]}]

Теперь у меня есть условия, я хочу сравнить их на уровне ресурсов и посмотреть, присутствует ли ресурс только в json 2, его добавление, если ресурс только в json 1, его удаление, и если ресурсы существуют в обоих местах, тогда это модификация. Мне также нужно сделать следующее, если у функций нет ресурсов, тогда мне нужно отправить действие как добавить, иначе как изменить, и то же самое, если для узла продукта на основе, если он уже присутствует или нет.

Короче говоря, я должен сравнить два json и отправить их дельты в другую систему с атрибутом action для всех них. Может кто-нибудь, пожалуйста, подскажите мне, как подойти к этому?

Редактировать: Вещи, которые я пробовал до сих пор:. Я использую java. Я пытался использовать jsonpatch и gson, но результаты — это не то, что я ищу, поскольку они говорят мне о разнице, но мне нужно добавить некоторую логику, основанную на наличии ресурсов в левом и правом файлах json. Кроме того, мне нужно убедиться, что продукт отправляет ADD как действие в случае отсутствия дочерний узел и так же обстоит дело с functioncode

Комментарии:

1. Используя какой язык? И что вы пробовали до сих пор?

2. Я использую java. Я пытался использовать jsonpatch и gson, но результаты — это не то, что я ищу, поскольку они говорят мне о разнице, но мне нужно добавить некоторую логику, основанную на наличии ресурсов в файлах left и right json. Кроме того, мне нужно убедиться, что продукт отправляет ADD как действие в случае отсутствиядочерний узел и так же обстоит дело с functioncode

3. Пожалуйста, пометьте вопрос всеми соответствующими технологиями, а также покажите, что вы пробовали, на случай, если это можно исправить или расширить

4. Если вы заранее знаете структуру 2 json, вы можете использовать GSON, чтобы превратить их в объекты Java, затем использовать логику для их сравнения и вывода json в результате.