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