2016-08-21 1 views
2

これが可能かどうか疑問です。 私は巨大なjsonファイルを解析して修正しています。 しかし、すべてのフィールドが私と対話しているわけではありません。私は、私が拘束されているフィールドだけをマップすることはできません。残りのフィールドのジャクソン処理

は、その後、私は性質の多くを持っているだけで、私は名前の「MyPropで」でinterrestedよ1と仮定し、私は

public class MyMapper extends HashMap { 
    private String myProp; 
    public void setMyProp(String myProp) { 
     this.myProp = myProp; 
    } 
    public String getMyProp() { 
     return myProp; 
    } 
} 

のようなものを試してみました。しかし、私は削除するまで、プロパティ「MyPropでは、」(常にnullである「拡張しますHashMap ")。 代わりにすべてがマップに入ります。

未知数を失うことなく、既知のフィールドで作業するために、具体的なフィールドとマップを混在させることは有用ではないでしょうか(または既に可能ですか?

そして、それが良いだろうがHashMapを拡張する代わりに、このようなすべての未知のフィールドを保持するフィールドを持っていない:

public class MyMapper { 
    private String myProp; 
    private Map remaining = new HashMap(); 
    public void setMyProp(String myProp) { 
     this.myProp = myProp; 
    } 
    public String getMyProp() { 
     return myProp; 
    } 
    @JsonRemaining 
    public Map getRemaining() { 
     return remaining; 
    } 
} 

あなたはこのケースで行うだろうか?

答えて

2

@JsonAnySetter@JsonAnyGetterのように見えます。すべてのirrelecant proerptiesは1枚の地図に詰め取得し、マップの内容がバックJSONにダンプを取得

はどのよう-ためにここに http://vincentdevillers.blogspot.co.il/2013/08/how-to-map-unknown-json-properties-with.html

+1

パーフェクトガイドを参照してください!どうもありがとう。 ブログはMap を使用し、ネストされたノードでは動作しませんが、Map はどんな場合でも動作します。 – mba

+0

良いコメントです! –

関連する問題