2013-06-26 28 views
3

我有這樣的JavaScript代碼:cometd是否允許您通過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"} 

我已成功發佈非數組並正確解析它們,但我似乎無法讓數組工作。難道我做錯了什麼?還是不支持?

在此先感謝。

+1

這是對象數組的默認'toString()'輸出。你可能會更好地迭代數組,否則發佈'java.util.Arrays.toString(o1)' –

+1

檢出[java:這是什麼:\ [Ljava.lang.Object ;?](http:// stackoverflow.com/questions/3442090/java-what-is-this-ljava-lang-object)瞭解更多信息。 –

+0

謝謝,幫助解釋我所看到的。 –

回答

2

嘗試使用JSONArray代替。

Map<String, Object> data = message.getDataAsMap(); 
if(data.containsKey("list")) 
{ 
    JSONArray ja = new JSONArray(data.get("list")); 
    String idList = ja.toString(); 
} 
相關問題