Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java增量流JSON库_Java_Json_Serialization_Streaming_Nonblocking - Fatal编程技术网

Java增量流JSON库

Java增量流JSON库,java,json,serialization,streaming,nonblocking,Java,Json,Serialization,Streaming,Nonblocking,有人能推荐一个JSON Java库吗?它允许我以一种非阻塞的方式为它提供数据块?我已经通读了很多类似的问题,还没有找到我想要的 基本上,我想要的是一个库,它允许我做如下事情: String jsonString1 = "{ \"A broken"; String jsonString2 = " json object\" : true }"; JSONParser p = new JSONParser(...); p.parse(jsonString1); p.isComplete(); //

有人能推荐一个JSON Java库吗?它允许我以一种非阻塞的方式为它提供数据块?我已经通读了很多类似的问题,还没有找到我想要的

基本上,我想要的是一个库,它允许我做如下事情:

String jsonString1 = "{ \"A broken";
String jsonString2 = " json object\" : true }";

JSONParser p = new JSONParser(...);
p.parse(jsonString1);
p.isComplete(); // returns false
p.parse(jsonString2);
p.isComplete(); // returns true
Object o = p.getResult();
请注意,实际的键名(“一个断开的json对象”)被拆分为多个部分


我发现的最接近的是它,它几乎完全符合我的要求,只是它无法恢复实际字符串或其他数据值在片段之间分割的对象。

有一些阻塞流/激励JSON解析器(根据);但对于async,我还没有意识到什么。 你提到的lib似乎名字不好;它似乎不进行真正的异步处理,只允许解析JSON文档序列(其他多个LIB也允许这样做)

如果有人真的想要这样做,那么编写一个也不是不可能的——因为有XML,处理JSON比XML要简单得多。 值得一提的是,实际上需要为其添加非阻塞解析模式;但很少有用户表示有兴趣实现这一点(通过投票支持功能请求)


编辑:(2016-01)虽然Jackson ObjectMapper不是异步的,但它也允许对流的部分进行方便的逐子树绑定——请参见
ObjectReader.readValues()
ObjectReader
创建自
ObjectMapper
),或
ObjectMapper.readValues(…)
的简捷版本。注意后面的
s
,这意味着一个对象流,而不仅仅是一个对象。

Google Gson可以从InputStream增量解析Json 我写了这样一个解析器:。请参见如何使用它的示例: