Java 为什么这个JSONObject不是JSONArray?
我正在使用javascript编写以下代码Java 为什么这个JSONObject不是JSONArray?,java,arrays,org.json,Java,Arrays,Org.json,我正在使用javascript编写以下代码 var people = { "users" : [{id : this.getJID().toString()},{id : this.getJID().toString()}], "body" : messageBody } 在我的服务器端,我有以下功能: JSONObject b = new JSONObject(jsonstring); JSONArray users = b.getJSONArray("users"); 我
var people = {
"users" : [{id : this.getJID().toString()},{id : this.getJID().toString()}],
"body" : messageBody
}
在我的服务器端,我有以下功能:
JSONObject b = new JSONObject(jsonstring);
JSONArray users = b.getJSONArray("users");
我无法获取用户,因为我将出现以下异常
org.json.JSONException:JSONObject[“用户”]不是JSONArray
我试图强制转换到JSONObject,但也出现了错误
JSONObject o = b.getJSONObject("users");
org.json.JSONException: JSONObject["users"] is not a JSONObject.
有什么问题吗?如上所述:
JSON序列化错误。user的值不是数组,而是字符串:{“users”:“[…]”,“body”:“test”}在[…]周围不应该有引号。这就是为什么你会出错。你似乎递归地序列化了人们的内容
“jsonstring”的内容是什么?jsonstring是JSON.stringify(people)。使用lib..什么是
人
以及字符串化
调用的结果?@Thomas-不太明白。people是js var.JSON。stringify(people)是我通过POST发送到服务器端的内容。@anewbie:JSON序列化错误。user
的值不是数组,而是字符串:{“users”:“[…]”,“body”:“test”}
在[…]”
周围不应该有引号。这就是为什么你会出错。您似乎递归地序列化了人员的内容。