2

この正確な JSON 構文を使用しようとしていますが、取得できません。

{
    "sun":"yellow",
    "vegetables":[{
        "apple":"red",
        "banana":"yellow",
        "melon":"orange"
    }]
}

私が得ることができる最も近いものは次のとおりです。

{
    "sun":"yellow",
    "vegetables":["{
        "apple":"red",
        "banana":"yellow",
        "melon":"orange"
    "]}
}

これは私がやっていることです:

JSONObject json = new JSONObject();
json.put("sun","yellow");

ArrayList<HashMap<String,Object>> test = new ArrayList<HashMap<String,Object>>();
HashMap<String,Object> params = new HashMap<String, Object>();
params.put("apple","red");
params.put("banana","yellow");
params.put("melon","orange");

test.add(params);
json.put("fruits",test);

私はそれを理解することはできません、私は何かが欠けていますか?

4

2 に答える 2

6

それはこのようにする必要があります -

JSONObject json = new JSONObject();
json.put("sun","yellow");

JSONArray veg = new JSONArray();
JSONObject vegData = new JSONObject();
vegData.put("apple","red");
vegData.put("banana","yellow");
vegData.put("melon","orange");

veg.put(vegData);   

json.put("vegetables",veg);

を使用してJettisonいます。詳細はこちらでご覧いただけます。

于 2012-06-14T23:04:27.643 に答える
0

入れ子にしないのはなぜですか?ここにいくつかの例

JSONObject outer = new JSONObject();
JSONObject inner = new JSONObject();
JSONArray  array = new JSONArray();

outer.put("sun", "yellow");
array.put("apple", "red");
array.put("bannanna", "yellow");
array.put("melon", "orange");

inner.put(array);

outer.put("Vegtables":inner);
于 2012-06-14T23:10:18.873 に答える