Java将空值创建为JSONObject的JSONObject

Java将空值创建为JSONObject的JSONObject,java,arrays,json,object,Java,Arrays,Json,Object,我试图创建一个具有特定键和空值的JSONObject。但是该值应该是JSONObject,而不是JSONArray 我已经用localJson.append(key,JSONObject.NULL)试过了或localJson.append(key,new-JSONObject())。 每次该值都是一个JSONArray,其值[0]=null或只是[{}] 有没有办法让它成为JSONObject?使用org.codehaus.jettison.json.JSONObject: 使用publicjs

我试图创建一个具有特定键和空值的JSONObject。但是该值应该是JSONObject,而不是JSONArray

我已经用
localJson.append(key,JSONObject.NULL)试过了
localJson.append(key,new-JSONObject())。
每次该值都是一个JSONArray,其
值[0]=null
或只是
[{}]

有没有办法让它成为JSONObject?

使用org.codehaus.jettison.json.JSONObject:

使用
publicjsonobjectput(字符串键,对象值)
代替
append
方法

您的代码无法工作,因为方法
JSONObject append(字符串键,对象值)
的定义如下:

publicjsonobjectappend(字符串键、对象值)抛出JSONException{
测试有效性(值);
对象o=opt(键);
如果(o==null){
put(key,new JSONArray().put(value));
}else if(!(JSONArray的实例)){
抛出新的JSONException(“JSONObject[“+key+”]不是JSONArray”);
}否则{
put(key,newjsonarray().put(o).put(value));
}
归还这个;
}

请显示一个,而不仅仅是描述您尝试过的内容。您还应该指定您正在使用的库。哇。。非常感谢。我恨我自己。我打开了这个部分并阅读了eatch time JSONObject而不是JSONArray>>