Java 为什么这个JSONObject不是JSONArray?

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"); 我

我正在使用javascript编写以下代码

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”}
[…]”
周围不应该有引号。这就是为什么你会出错。您似乎递归地序列化了
人员的内容。