【发布时间】:2011-01-16 06:15:33
【问题描述】:
我正在寻找一个支持比较两个忽略子顺序的 JSON 对象的 JSON 解析库,专门用于对从 Web 服务返回的 JSON 进行单元测试。
任何主要的 JSON 库都支持这个吗? org.json 库只是做一个参考比较。
【问题讨论】:
-
无法将两个对象序列化为字符串表示并进行比较?我猜所有的库都支持
toString()将对象转换为JSON字符串。 -
假设序列化到和从字符串的顺序总是相同的。我不愿意做出这样的假设。
-
你说得对,杰夫,这根本不安全。此测试显示了映射相同但 toString() 不返回相同输出的场景:gist.github.com/anonymous/5974797。这是因为底层的 HashMap 是可以增长的,如果去掉 key,HashMap 内部数组不会缩小。
-
Json 比较 json-compare