Java使用空值创建JSONObject作为JSONObject

时间:2016-03-07 15:37:13

标签: java arrays json object

我尝试使用特定键和空值创建JSONObject。但是值应该是JSONObject而不是JSONArray。

我已经使用localJson.append(key, JSONObject.NULL);localJson.append(key, new JSONObject());进行了尝试。 每次该值都是带有value[0] = null[{}]

的JSONArray

有没有办法让它成为JSONObject?

1 个答案:

答案 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;
}