繁体   English   中英

Java:比较json对象数组中所有键的最佳方法?

[英]Java: Best way to compare all keys within array of json objects?

我正在解析构建为对象数组的json文件(大小从几KB到几GB不等),例如:

{  
  "records": [
    {
       "col1": "someValue",
       "col2": "someValue",
       "col3": "someValue", 
    },
    {
       "col1": "someValue",
       "col2": "someValue",
       "col3": "someValue",
    },
    {
       "col1": "someValue",
       "col2": "someValue",
       "col3": "someValue",
    }  
  ]
}

记录表示表中的各行数据,文件始终仅包含一个表的数据。

我可以提取表的元数据并解析它没有任何问题。 我正在使用JSON.simple库来执行此操作。

我现在要做的是验证所有对象是否具有相同的密钥,不多或少需要将数据摄入表中。 我可以使用keySet()方法提取密钥并将其放入列表中,但似乎将一个列表与另一个列表进行比较(从几个到几百万个)是一个非常糟糕且成本高昂的实现。

有没有一个很好的解决方案可以快速比较json数组中所有json对象的所有键?

您无法避免必须查看数据的每一行(数量m)的每个键(数量n),因此无论如何复杂性都不能低于O(n * m)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM