Игнорировать конкретный узел при выполнении одинаковой проверки двух сложных объектов JSON.JAVA

Программисты JAVA общаются здесь
Ответить
Гость
 Игнорировать конкретный узел при выполнении одинаковой проверки двух сложных объектов JSON.

Сообщение Гость »


У меня есть модульный тест, который сравнивает два сложных объекта JSONObject. Я хочу сравнить оба объекта целиком, но хочу игнорировать только одно конкретное поле (т. е. временную метку. что-то, что всегда является переменным). Вот мой код:

Код: Выделить всё

JSONParser parser = new JSONParser(JSONParser.MODE_JSON_SIMPLE);
JSONObject jsonObject1 = (JSONObject) parser.parse(expectedErrorMessage);
JSONObject jsonObject2 = (JSONObject) parser.parse(lastMessage.toString());

Assertions.assertEquals(jsonObject1, jsonObject2);
Изначально я думал, что лучший способ — установить значение в JSONTree равное нулю или какому-то произвольному значению. Итак, идея заключается в некотором методе, который может выглядеть следующим образом (например, в неизменяемой библиотеке javascript):

Код: Выделить всё

jsonObject = updateAJsonField(jsonObject, ["path","to", "field"], newValue)
Otherwise there is using a comparator in the equals, but it seems more trouble than its worth.
(ps i am using net.minidev.json)
Any ideas how to ignore a field deep in a complex JSON object?


Источник: https://stackoverflow.com/questions/781 ... on-objects
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»