2017-08-28 23 views
0

私のkesonレスポンス構造にpartNumber_ntkというキー名の文字列フィールドがあります。私は、問題は、JSONの値はPOJOで定義された属性にマッピングされて取得されていないということです@JsonPropertyがPOJOに値をマッピングしていません

@JsonProperty("partNumber_ntk") 
private String partNumberNtk; 

として定義され、この値をマッピングするための私のPOJOでの文字列の属性を持っています。私はカスタムJsonデシリアライザを作成しようとしているだけでなく、私のPOJOクラスでSNAKE CASEネーミング戦略アノテーションを使ってみました。しかし、これらのアプローチのどれも働かなかった。誰かが試してみることができるものと@JsonPropertyがこの特定のシナリオで動作しない理由を提案してください。

jsonキーがアンダースコアセクションの前に大文字を持っているため@JsonPropertyが機能していないと感じる理由は、おそらくデフォルトのSNAKE CASE命名方法ではマッピングされていません。

+0

あなたは '@ JsonCreator'でコンストラクタをしなければならないように、関連する属性のアクセサメソッド(ゲッター)の上に注釈を入れて、' JsonProperty' –

+0

@私が作成しようとしておりませんで、このコンストラクタのパラメータをマークしてみてくださいjson。私はこの特定の属性を読んでから、それを私がPOJOで定義したプロパティにマップしたいと思うjsonレスポンスを既に持っています。 – SASHA

+0

はい@sasha。 jsonからオブジェクトを作成するためにPOJOのための '@JsonCreator'アノテートコンストラクタを作成するようにお願いします。 –

答えて

0

@JsonProperty("label") 
public String getName() { return name; } 
+0

このアプローチはうまくいかなかった – SASHA

関連する問題