2014-07-17 105 views
-1

我使用代碼:JSONArray把數據提供額外逃生

JSONArray jsonArray = new JSONArray(); 
jsonArray.put(1, "ADMIN"); 
jsonArray.put(2, "DATA"); 
JSONObject jsonObj = new JSONObject(); 
jsonObj.put("slice_roles", jsonArray); 
jsonObj.put("admin_slice", "10.143.229.238"); 
jsonObj.put("slice_address", "10.143.229.238"); 
String requestJson = jsonObj.toString(); 

輸出requestJson我得到的是:

[{"slice_roles":[\"ADMIN\",\"UI\"],"admin_slice":"10.143.229.238","slice_address":"10.143.229.238"}] 

我想:

[{"slice_roles":["ADMIN","UI"],"admin_slice":"10.143.229.238","slice_address":"10.143.229.238"}] 

如何我可以做到這一點嗎?基於@HotLicks

+0

我懷疑有事情發生,你沒有告訴我們 - 其他業務混合在那裏。 –

+0

此後我正在進行REST調用。這些代碼在執行方法下,這是由螞蟻目標調用的。 –

+0

我的意思是關於JSONArray的構造。上述錯誤對於任何常用的JSON套件來說都太過分了。我注意到你列出的JSON不可能來自上面的代碼,因爲JSON是用一個「數組」包裝的,而最外層的實體是一個「對象」。你需要向我們展示* real *代碼。 –

回答

1

您正在使用哪個JSON庫?使用了幾個後,我已經解決了FastJSON,這對ListMap分別爲JSONArrayJSONObject分別具有最大的好處,我希望它也能解決您的問題。

+1

爲我工作。謝謝。 – user3359005

0

更新評論:

您的JSON是無效的,因爲雙引號並不總是在你的字符串逃過一劫。也許你應該檢查一下創建JSON的方式和庫。

+0

如果你這樣做,我的輸出應該看起來像[「ADMIN」,「UI」]而不是[\「ADMIN \」,\「UI \」] –

+0

,那麼字符串將在'['後面結束。即第一個雙引號 – Keerthivasan

+0

目前尚不清楚是否屬實。字符串中的其他引號不會被轉義。 –

相關問題