Jackson和GSON中JSON对象的稳定/终结比较

时间:2014-05-06 07:51:09

标签: java json jackson gson

因为事实证明杰克逊does not do stable JSON对象比较与this question相反。所以我想知道GSON是否有稳定的JSON对象比较。 (无需重写equals /实现自己的比较器)

1 个答案:

答案 0 :(得分:2)

你的要点是org.json代码,而不是Jackson

Jackson为所有JsonNode提供了完美的.equals()实现。这包括所有“非容器类型”以及“容器类型”:

final JsonNodeFactory factory = JsonNodeFactory.instance;

final JsonNode node1 = factory.objectNode().put("hello", "world");
final JsonNode node2 = factory.objectNode().put("hello", "world");

node1.equals(node2); // true

当然,它确实尊重JSON与对象成员的“顺序无关紧要”:{ "a": 1, "b": 2 }等于{ "b": 2, "a": 1 } - 应该如此。


这可能只是我的意见,但实际上,当谈到JSON时,任何都优于org.json。