我有这段 JavaScript 代码:
$.cometd.publish('/service/slideshow/add_ids', {"list":[1889, 1888, 1887, 1886, 1885, 1884]});
在我的 Java 代码中我有:
Map<String,Object> data = message.getDataAsMap();
if(data.containsKey("list"))
{
JSONObject o1 = new JSONObject(data);
String idList = o1.toString();
}
我的字符串 'idList' 最终变成了:
{"list":"[Ljava.lang.Object;@41c271b8"}
我已成功发布非数组并正确解析它们,但我似乎无法让数组工作。难道我做错了什么?还是不支持?
提前致谢。
最佳答案
请尝试使用 JSONArray
。
Map<String, Object> data = message.getDataAsMap();
if(data.containsKey("list"))
{
JSONArray ja = new JSONArray(data.get("list"));
String idList = ja.toString();
}
关于java - cometd 是否允许您通过 JavaScript 发布数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17310329/