2013-07-04 25 views
1

我準備一個JSON對象在一個Web服務發送,我試圖把在對象的字符串列表,事情是這樣的:Json.put()函數將雙引號自動

["24348f08-92f4-481a-9a36-ed0d533ca4f3", "24348f08-92f4-481a-9a36-ed0d533ca4f3"]

我做了什麼:

sendData.put("SpecializationAlert",Specialization); 

送出數據是JSON對象和專業化是一個字符串數組,結果當我登錄這就是:

"[\"24348f08-92f4-481a-9a36-ed0d533ca4f3\",\"24348f08-92f4-481a-9a36-ed0d533ca4f3\"]"

+0

你實際上做的是增加一個'Specialization.toString()'返回值作爲字符串,它得到正確轉義。 –

+0

你能否澄清一下'專業化'類型?目前尚不清楚 - 我的理解是:'String []',@allprog認爲它是一個單一的'String' ... –

+0

String [] Specialization = new String [SpecialisatoinLength]; –

回答

1

Specialization被置於JSON中作爲toString() -ed對象。你可以從它首先創建一個JSONArray,然後將其包括在的JSONObject:

sendData.put("SpecializationAlert",new JSONArray(Arrays.asList(Specialization))); 
+0

如果OP實際上想要在其中一個字符串內傳輸引號字符,該怎麼辦?你在這裏解決了錯誤的問題。 –

+0

那麼,OP不想傳輸這些字符。閱讀問題 – allprog

+0

我做到了。 OP只給出一個例子,所以你不知道引號是否會出現在那裏 - 它是未定義的。 'Specialization'是字符串數組,根據問題,我想OP想將它轉換爲字符串值的JSON數組。 OP不正確地使用API​​,你提出的是一種黑客攻擊,而不是解決方案。 –