java-json-tools/json-patch

Ignore specific fields while calculating JSON diff.

Opened this issue · 1 comments

When I find the difference between two JsonNodes, I shall be able to ignore specific fields.

Example:

Foo.java has id and name fields and I have two different objects of this class say foo1 and foo2.

When I compare the diff using JsonDiff class, I shall be able to ignore id comparison and be able to find diff for name field only.

   JsonNode oldJsonNode = objectMapper.readTree(objectMapper.writeValueAsString(foo1));
    JsonNode newJsonNode = objectMapper.readTree(objectMapper.writeValueAsString(foo2));
    JsonNode jsonDiff = JsonDiff.asJson(oldJsonNode, newJsonNode);

I want to exclude id field in jsonDiff object.

This could be implemented using a method overload having a third parameter of type vararg of String.

JsonNode jsonDiff = JsonDiff.asJsonIgnoringGivenFields(oldJsonNode, newJsonNode, "id");