4

JacksonライブラリのStreamingAPIJsonParserを使用して、Javaでカスタムjson解析を実行しています。

peek()次のトークンが返されるがカーソル位置が前方に移動しないメソッドと同様の機能を実現する方法はありますか?

この使用例は次のようになります。

JsonParser parser = new JsonFactory().createParser(inputStream);
while(parser.peek() != JsonToken.START_ARRAY){
   ...do something with the current token...
}

Jacksonで見たコード例ではnextToken()、上記の場合のメソッドを使用していますが、残念ながら、カーソルがストリーム内で前方に移動します。

ジャクソンをそのまま使用して可能ですpeek()か、それとも追加の方法で実現できますか?

NB。他のライブラリには興味がないので、「ライブラリxはこれをすべて実行し、キッチンシンク」タイプの回答はありません。

4

1 に答える 1

5

いいえ、現在そのような機能はありません。委任ラッパーを使用してそれを行うことができますか?'org.codehaus.jackson.util.JsonParserDelegate'があり、現在の要素について保持したい情報に応じて、比較的簡単に実装できます。

価値が何であれ、JsonParser.peek()を追加することは可能かもしれません。これをリクエストする最良の方法は、 http://jira.codehaus.org/browse/JACKSONで機能リクエストを提出することです。ほとんどの場合、この機能はまだ誰からも要求されていません。

これを実装するのが簡単(十分)である理由は、1文字の先読みのみが必要なためです。

于 2010-06-28T22:59:54.853 に答える