2011-07-13 18 views
0

JSON文字列を解析するためにJacksonのStreaming APIを使用しています。ブール型として "YES"をサポートする必要があります。Jackson Streaming APIでカスタムブール型文字列を処理する方法

JsonFactory f = new JsonFactory(); 

、その後

JsonParser jp = f.createJsonParser(jsonString); 

をやって、その後jp.nextToken()作品の周りにループします。必要な出発点とジャンプを探して、必要に応じて配列/地図を作成します。これはすべての通常の容疑者に最適です。しかし、私はヒット時に例外が発生します:

{ "a": false, "b": Yes } 

これは別のシステムから来ているので、私はYes/Noをサポートする必要があります。

アドバイスはありますか?私はこれを試しましたhttp://hussainpithawala.wordpress.com/2011/05/11/overriding-default-serializationdeserialization-behaviour-of-jackson-json-serializer/しかし、このシナリオでは動作していないようです。

+1

本当に無効なJSON {"a":false、 "b":はい}ではなく{"a":false、 "b": "Yes"}ですか? –

+0

問題は "b"キーです。 "a"キーはうまく解析されます。 –

+0

私が依頼した質問はまだ立っています。 –

答えて

2

JsonParser.FeatureをALLOW_UNQUOTED_VALUESに追加するリクエストをJacksonプロジェクトに提出することをお勧めします。 (問題はhttp://jira.codehaus.org/browse/JACKSONに提出することができます)。これにより、入力を処理してカスタムの直列化を行うことができます。今のようにジャクソンは例外を投げて、問題を処理する機会を提供しません。

関連する問題