gpt4 book ai didi

java - 高效地使用 JSON 流(在 Java 中)

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:46:25 24 4
gpt4 key购买 nike

我一直在使用 JSONObjectJSONReader ,但理想情况下,我正在寻找混合动力车 :)

特别是,给定一个 JSON 对象流,任意长的 JSON 数组的一部分,是否有一个助手/库一次产生“JSONObject”,迭代器样式,而不是读取所有内容或必须解析出单个原语字段(JsonReader)?

假设的 API 示例:

JsonReader reader = new JsonReader(new InputStreamReader(in, "UTF-8"));

reader.beginArray();
while (reader.hasNext())
{
JSONObject obj = reader.readObject();
// do something with 'obj'
}
reader.endArray();

上面,调用 readObject 解析一些复杂的 JSON 子树并将其作为 JSONObject 返回。

最佳答案

javax.json.JSONParser .

打印出 JSON 的示例:

import javax.json.Json;
import javax.json.stream.JsonParser;
...
JsonParser parser = Json.createParser(new StringReader(jsonData));
while (parser.hasNext()) {
JsonParser.Event event = parser.next();
switch(event) {
case START_ARRAY:
case END_ARRAY:
case START_OBJECT:
case END_OBJECT:
case VALUE_FALSE:
case VALUE_NULL:
case VALUE_TRUE:
System.out.println(event.toString());
break;
case KEY_NAME:
System.out.print(event.toString() + " " +
parser.getString() + " - ");
break;
case VALUE_STRING:
case VALUE_NUMBER:
System.out.println(event.toString() + " " +
parser.getString());
break;
}
}

来自 The Java EE Tutorial 19.4.1 Reading JSON Data Using a Parser .它是 JavaEE 7 API 的一部分,但可以从 https://jsonp.java.net/download.html 获得独立的 jar。 .

关于java - 高效地使用 JSON 流(在 Java 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25064773/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com