#java #json #jackson #json-patch #flipkart-api
Вопрос:
Я пытаюсь получить разницу в JSON, используя библиотеку zjsonpatch. Библиотека предоставляет результаты операций добавления, удаления и замены. Результаты будут такими, как и ожидалось.
Но для операции добавления выходные значения иногда представляют собой карту пар ключ/значение, как показано ниже. В этом случае путь также является элементом массива.
{
"op": "add",
"path": "/Entity1/0/Entity2/Entity3/2",
"value": {
"Field1": "ABC",
"Field2": "BBC",
"Field3": 999
}
}
Можно ли получить выходные данные в виде плоской структуры для каждого поля? как показано ниже
[
{
"op": "add",
"path": "/Entity1/0/Entity2/Entity3/2/Field1",
"value": "ABC"
},
{
"op": "add",
"path": "/Entity1/0/Entity2/Entity3/2/Field2",
"value": "BBC"
},
{
"op": "add",
"path": "/Entity1/0/Entity2/Entity3/2/Field3",
"value": 999
}
]
Комментарии:
1. Я не знаю о zjsonpatch, но похоже, что вы могли бы просто преобразовать вывод самостоятельно так, как хотите? Зацикливайтесь и создавайте новый объект json для каждого поля, добавляя в каждое одни и те же данные (при добавлении поля в путь).
2. Спасибо @Vakio за предложение. Да, я сделал то же самое, но ищу, есть ли какая-либо функция/параметр, которые могут быть переданы в API и обеспечить ту же функциональность.