初始化JSONObject的问题

时间:2011-05-19 16:46:31

标签: android json

我正在尝试使用从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

有人可以帮忙吗?

由于

3 个答案:

答案 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)

尝试删除所有“\”字符