2013-07-25 120 views
2

我想這個結果:雙引號

{"link":[{"url":"http://en.wikipedia.org/wiki/JScript", "label":"wikipedia"}]} 

我嘗試這樣做:

JSONObject ob1 = new JSONObject(); 
ob1.put("link","[{\"url\":\"http://en.wikipedia.org/wiki/JavaScript\", label:\"wikipedia\"}]"); 

ob1.toJSONString()的輸出是:

{"link":"[{\"url\":\"http:\/\/en.wikipedia.org\/wiki\/JavaScript\", label:\"wikipedia\"}]"} 

上午什麼我做錯了嗎? 我使用JSON-簡單1.1.1

回答

0

你應該把一個JSONArray到的JSONObject並在Array再次一個JSONObject與鍵/值"url"/"http://en.wikipedia.org/wiki/JScript""label"/"wikipedia"

JSONObject ob1 = new JSONObject(); 
JSONArray ar1 = new JSONArray(); 
ob1.put ("link", ar1); 

JSONObject ob2 = new JSONObject(); 
ar1.add(ob2); 

ob2.put("url", "http://en.wikipedia.org/wiki/JScript"); 
ob2.put("label", "wikipedia"); 

如果您在OB1鏈接對象已經爲JSON字符串的值,那麼你可以使用

JSONArray ar1 = (JSONArray)JSONValue.parse(yourJSONStr); 

注意首先解釋此爲JSONArray:您預期的結果是不是JSON字符串,因爲這一切"/"必須逃脫"\/"

+0

啊,這是愚蠢的我。該網址的問題仍然存在。我收到以下內容,我無法用\ /來逃避/。 {「link」:[{「url」:「http:\/\/en.wikipedia.org \/wiki \/JavaScript」,「label」:「維基百科」}]} – Jean

+0

這是JSON規範。您的字符串不會是正確的JSON格式的字符串。 – luksch

+0

所以不可能得到我想要的結果? – Jean