2016-03-07 104 views
0

我試圖創建一個具有特定鍵和空值的JSONObject。但值應該是JSONObject而不是JSONArray。Java創建JSONObject爲空的值作爲JSONObject

我已經試過localJson.append(key, JSONObject.NULL);localJson.append(key, new JSONObject());。 每次值是一個JSONArray與value[0] = null或只是[{}]

有什麼辦法使它成爲JSONObject?

+2

請顯示[MCVE],而不是僅僅描述你已經嘗試了什麼。 –

+0

你也應該指定你正在使用的庫。 – Hacketo

回答

1

使用org.codehaus.jettison.json.JSONObject

使用public JSONObject put(String key, Object value),而不是append方法。

您的代碼不工作,因爲方法JSONObject append(String key, Object value)定義如下:

public JSONObject append(String key, Object value) throws JSONException { 
    testValidity(value); 
    Object o = opt(key); 
    if (o == null) { 
     put(key, new JSONArray().put(value)); 
    } else if (!(o instanceof JSONArray)){ 
     throw new JSONException("JSONObject[" + key + "] is not a JSONArray."); 
    } else { 
     put(key, new JSONArray().put(o).put(value)); 
    } 
    return this; 
} 
+0

哇..謝謝你......我討厭自己。我打開了這部分,並讀取了JatchObject而不是JSONArray>。> –