Игнорировать конкретный узел при выполнении одинаковой проверки двух сложных объектов 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

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