我尝试使用特定键和空值创建JSONObject。但是值应该是JSONObject而不是JSONArray。
我已经使用localJson.append(key, JSONObject.NULL);
或localJson.append(key, new JSONObject());
进行了尝试。
每次该值都是带有value[0] = null
或[{}]
有没有办法让它成为JSONObject?
答案 0 :(得分: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;
}