我正在解析构建为对象数组的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对象的所有键?
答案 0 :(得分:1)
您无法避免必须查看数据的每一行(数量m)的每个键(数量n),因此无论如何复杂性都不能低于O(n * m)
。