作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 Streaming API JsonParser的 Jackson在 java 中进行一些自定义 json 解析的库。
是否有一种方法可以实现类似于 peek()
方法的功能,即返回下一个标记但光标位置不向前移动?
此用例类似于以下内容:
JsonParser parser = new JsonFactory().createParser(inputStream);
while(parser.peek() != JsonToken.START_ARRAY){
...do something with the current token...
}
我看到的关于 Jackson 的代码示例对上述情况使用了 nextToken()
方法,不幸的是,它也会在流中向前移动光标。
peek()
是否可以使用 Jackson 开箱即用,或者可以通过其他方法实现?
注意。对其他图书馆不感兴趣,所以请不要输入“图书馆 x 和厨房水槽”的答案。
最佳答案
没有,目前没有这样的功能。您也许可以通过使用委托(delegate)包装器来做到这一点?有“org.codehaus.jackson.util.JsonParserDelegate”,它可以使它相对容易实现,具体取决于您要保留的有关当前元素的信息。
无论它值多少钱,都可以添加 JsonParser.peek();请求此功能的最佳方式是在 http://jira.codehaus.org/browse/JACKSON 提交功能请求。 .很可能还没有任何人请求此功能。
这可能很容易(足够)实现的原因是它应该只需要一个字符前瞻。
关于java - 如何在 Jackson json 库中执行 peek()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3109042/
我是一名优秀的程序员,十分优秀!