事实证明 jackson does not do stable JSON 对象比较与 this question 相反。所以我想知道 GSON 是否具有 JSON 对象的稳定比较。 (无需重写 equals/实现自己的比较器)
最佳答案
您的要点显示 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 更好。
关于java - Jackson 和 GSON 中 JSON 对象的稳定/术语比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23488927/