使用JAVA的JSONObject中的参数数组

duk*_*ble 2 java json

我试图有这个确切的JSON语法,但无法达到它:

{
    "sun":"yellow",
    "vegetables":[{
        "apple":"red",
        "banana":"yellow",
        "melon":"orange"
    }]
}
Run Code Online (Sandbox Code Playgroud)

我能得到的最接近的是:

{
    "sun":"yellow",
    "vegetables":["{
        "apple":"red",
        "banana":"yellow",
        "melon":"orange"
    "]}
}
Run Code Online (Sandbox Code Playgroud)

这就是我在做的事情:

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);
Run Code Online (Sandbox Code Playgroud)

我无法理解,我错过了什么?

JHS*_*JHS 5

它应该是这样的 -

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);
Run Code Online (Sandbox Code Playgroud)

我在用Jettison.你可以在这里找到细节.