一尘不染

初始化JSONObject时出现问题

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

有人可以帮忙吗?

谢谢


阅读 597

收藏
2020-07-27

共1个答案

一尘不染

似乎您正在尝试从带有额外引号的String实例化它。您需要删除包装引号(我不使用您的字符串,而是给出一个示例使其更清楚):

还行吧:

String jStr= "{\"param1\":\"hello\"}";
JSONObject jObj = new JSONObject(jStr);

这不是:

String jStr= "\"{\"param1\":\"hello\"}\"";
//  note this ^^             and this ^^ 
JSONObject jObj = new JSONObject(jStr);
2020-07-27