1

再会!在 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)

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

谢谢你。

4

2 回答 2

2

由于它是纯文本数据,您可以使用Lucene等标准文本搜索工具对其进行处理,并据此找到您的条目。

于 2012-04-19T06:50:49.880 回答
1

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

于 2012-04-19T06:59:22.340 回答