Tim*_*m C 5 java streaming serialization json nonblocking
任何人都可以推荐一个Java的JSON库,它允许我以非阻塞的方式提供数据块吗?我已经阅读了一个更好的Java JSON库和类似的问题,并没有找到我想要的.
基本上,我想要的是一个允许我做类似以下内容的库:
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();
Run Code Online (Sandbox Code Playgroud)
请注意,实际的键名称("A broken json object")在各段之间分开.
我发现的最接近的是async-json-library,几乎完全符合我的要求,除了它无法恢复实际字符串或其他数据值在各个部分之间分割的对象.
有一些阻塞流式/增量式 JSON 解析器(如Is There a Streaming API for JSON?);但对于异步,我还没有意识到。您引用的库的名称似乎很糟糕;它似乎并没有进行真正的异步处理,而只是允许解析 JSON 文档序列(其他多个库也允许这样做)
如果有人真的想要这个,那么编写一个也不是不可能的——对于 XML,有Aalto,并且处理 JSON 比 XML 简单得多。无论如何,实际上有这个功能请求为Jackson添加非阻塞解析模式;但很少有用户表示有兴趣完成这项工作(通过对功能请求进行投票)。
编辑:(2016-01)虽然不是异步的,但 Jackson ObjectMapper 也允许对流的各个部分进行方便的子树到子树绑定 - 请参阅ObjectReader.readValues()
(ObjectReader
从创建ObjectMapper
)或 的快捷版本ObjectMapper.readValues(...)
。请注意其中的尾随s
,这意味着对象流,而不仅仅是单个对象。
归档时间: |
|
查看次数: |
3959 次 |
最近记录: |