我正在尝试使用从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
有人可以帮忙吗?
由于
答案 0 :(得分:9)
好像你正试图从带有额外引号的String中实例化它。你需要删除包装引号(我没有使用你的字符串,但举一个例子让它更清晰):
没关系:
String jStr= "{\"param1\":\"hello\"}";
JSONObject jObj = new JSONObject(jStr);
这不是:
String jStr= "\"{\"param1\":\"hello\"}\"";
// note this ^^ and this ^^
JSONObject jObj = new JSONObject(jStr);
答案 1 :(得分:0)
尝试以简化模式重写所有内容(仅用于测试)。我认为你放了一些无效的角色。
答案 2 :(得分:0)
尝试删除所有“\”字符