美好的一天! 在Java中,有没有办法有效地通过键搜索大型JSON。
我的样本JSON:
{
"my_data": [
{
"id": "12",
"message": "z1",
"text": "hai"
},
{
"id": "13",
"message": "z2",
"text": "get"
},
{
"id": "14",
"message": "z3",
"text": "up"
}
]
}
'my_data'JsonArray非常冗长。由于它非常大,因此需要更多时间来搜索其中的特定单词:
my_data.get(index).getString("text").contains(SEARCH_STRING)
是否有任何预先定义的库或标准技术可以有效搜索?
谢谢。
答案 0 :(得分:2)
由于它是纯文本数据,您可以使用标准文本搜索工具(如Lucene)处理它们,并根据它找到您的条目。
答案 1 :(得分:1)
快速json解析器是Jackson Java JSON-processor ,但它必须按顺序读取整个String以找到您的值。因此,如果您需要更快的速度,您可能必须以JSON之外的其他格式保存数据,您需要某种索引。 (但这取决于你想做什么以及它必须有多快......)