比较两个 JSONObject

Compare two JSONObjects

我在比较两个 JSONObjects 时遇到性能问题。我目前的比较方法如下:

return o1.toString().equals(o2.toString())

但是,这很慢。不过,我似乎找不到任何其他方法来正确比较两个 JSONObjects。 o1.hashCode()o2.hashCode() 可以不同,但​​字符串相同。遍历每个元素并单独比较这些元素 似乎 也非常缓慢。

有什么方法可以更快地比较两个 JSONObject 吗?

此问题专门针对 http://json.org/. I really want to refrain from using any other libraries like the ones mentioned in Compare two JSON objects in Java 提供的 org.json 的使用,因为该库对应用程序的某些部分至关重要。

如我所见,json.org 有 JSONObject.similar 方法。它是递归的,但您不创建任何对象。您比较已经存在的对象。您可以比较 toString + equals 和 JSONObject.similar

之间的性能