2016-04-29 16 views
0

属性私はその後、私はこのJavaのJSONを選択カスタム動的

items:[ 
    { 
    "atr1":"somevalue", 
    "atr2":"somevalue", 
    "atr3":"somevalue", 
    "atr4":"somevalue" 
    }, 

    { 
    "atr1":"somevalue", 
    "atr2":"somevalue", 
    "atr4":"somevalue" 
    } 
] 
ような結果を取得する必要がJSONObject

Item item1 = new Item(); 
Item item2 = new Item(); 
ArrayList<Item> items = new ArrayList<Item>(); 
items.add(item1); 
items.add(item2); 

JSONObject obj = new JSONObject(); 
obj.put("items", items); 

に項目のリストをクラス

public class Item { 
    private String atr1; 
    private String atr2; 
    private String atr3; 
    private String atr4; 
} 

を入れています

ご覧のとおり、最初のアイテムは4つの属性を持ち、2つ目のアイテムは3つの属性を持っています。どうすればいいのですか?

答えて

0

質問を入力してください。 atr3はヌルですか?あなたのニーズに合わせ、私が理解し何のため

、制約と@JsonInclude(JsonInclude.Include.NON_NULL)を使用してみてください(私はJSONオブジェクトとJavaの統合のためにジャクソンの使用を推奨します)

+0

いいえそれがnullではないですが、私はATR3を含めたくありません最初の項目。 – NoName2

+0

これを実現する唯一の方法は、JSONの作成を担当する '@JsonCreator'メソッドを作成することです(必要に応じていくつかのフィールドを除外することもできます)、e.xを一時的に設定して値を操作することもできます。 '@ JsonInclude'を使用してnullにします – VanDavv