我正在尝试使用从Web服务接收的以下字符串初始化JSONObject:
"{ "campaignid": "8", "campaignname": "Pilotarienak 2011", "campaignlink": "http:\\/\\/www.xxx.com\\/fr\\/cote-basque\\/agenda\\/2011-05-20\\/FMAAQU064FS016DV-pilotarienak-d-anglet?fromapp", "splash": "http:\\/\\/www.xxx.com\\/ads\\/customers\\/pilotarienak\\/320x480.jpg", "banner": "http:\\/\\/www.xxx.com\\/ads\\/customers\\/pilotarienak\\/320x160.jpg" }"
它似乎是有效的json(它在jsonlint.com中进行了验证),但是使用它初始化JSONObject时,我得到了:
org.json.JSONException: Value of type java.lang.String cannot be converted to JSONObject
有人可以帮忙吗?
谢谢
似乎您正在尝试从带有额外引号的String实例化它。您需要删除包装引号(我不使用您的字符串,而是给出一个示例使其更清楚):
还行吧:
String jStr= "{\"param1\":\"hello\"}"; JSONObject jObj = new JSONObject(jStr);
这不是:
String jStr= "\"{\"param1\":\"hello\"}\""; // note this ^^ and this ^^ JSONObject jObj = new JSONObject(jStr);