2016-11-14 1 views
0

Jackson Delegateベースのクリエイターが生のJson Stringにアクセスする方法はありますか?Jackson DelegateベースのCreatorが生のJson Stringにアクセスする方法はありますか?

@JsonCreator 
private static MyClass createFromJson(Map<String, Object> jsonProperties) { 
    return new MyClass(rawJson); 
} 

私は上記のコード内のオブジェクトへの文字列の地図としての生の入力を取得することができるが、私は、文字列としてJSONにアクセスできるようにしたいです。私は以下のコードを試しましたが(http://www.cowtowncoder.com/blog/archives/2011/07/entry_457.htmlに基づいています)、書かれたコードは決して呼び出されません。

@JsonCreator 
private static MyClass createFromJson(String rawJson) { 
    return new MyClass(rawJson); 
} 

注:これは、ジャクソン2.6.4を使用しています春のブートアプリケーション(1.3.1.RELEASE)です。

+0

  • は「あなたがJsonDeserializerをしたいように見えますか」?本体をハンドラメソッドで '@ RequestBody'という' String'をアノテートして受け取らないのはなぜですか? –

  • +0

    @SotiriosDelimanolis私はまだコントローラメソッドのシグネチャを受信し、自分のドメインオブジェクトで操作したいと思っています。この例では、Mapを取る代わりに実際のjson文字列を取る 'parseForJson'メソッドを書くことができます。 –

    +0

    @SotiriosDelimanolis私は知っている春は私に生のjsonを与えることができます、私が知りたいことはジャックソンすることができますか? –

    答えて

    0

    このような機能はこの文脈では意味がありません。実際、この例でJSON文字列を要求すると、最初にジャクソンを使用する目的を破るようになったようです。誰もがここで自分自身を発見した場合しかし、その後、ソティリオスDelimanolisからのコメントが役に立つことがあります。

    • 「ハック:あなたは、パラメータの種類としてJsonNodeを受信し、対応するJSONを取得するには、そのtoStringメソッドを使用することができます。」 Webアプリケーションの一部として、これは
    関連する問題