Java中的高效JSON搜索

时间:2012-04-19 06:46:54

标签: java json

美好的一天! 在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)

是否有任何预先定义的库或标准技术可以有效搜索?

谢谢。

2 个答案:

答案 0 :(得分:2)

由于它是纯文本数据,您可以使用标准文本搜索工具(如Lucene)处理它们,并根据它找到您的条目。

答案 1 :(得分:1)

快速json解析器是Jackson Java JSON-processor ,但它必须按顺序读取整个String以找到您的值。因此,如果您需要更快的速度,您可能必须以JSON之外的其他格式保存数据,您需要某种索引。 (但这取决于你想做什么以及它必须有多快......)