我一直在使用JSONObject和JSONReader,但理想情况下,我正在寻找一种混合动力:)
特别是,给定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();
Run Code Online (Sandbox Code Playgroud)
上面,调用readObject解析一些复杂的JSON子树,并将其作为JSONObject返回。
有
一个An示例可以打印出json:javax.json.JSONParser
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;
}
}
Run Code Online (Sandbox Code Playgroud)
来自 http://docs.oracle.com/javaee/7/tutorial/doc/jsonp004.htm#BABDBHIA
这是JavaEE7 api的一部分,但是可以从https://jsonp.java.net/download获得独立的jar 。 html
| 归档时间: |
|
| 查看次数: |
3625 次 |
| 最近记录: |