初始化JSONObject的问题

jul*_*jul 0 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"
}"
Run Code Online (Sandbox Code Playgroud)

它似乎是有效的json(它在jsonlint.com中验证),但是在初始化JSONObject时,我得到:

org.json.JSONException: Value  of type java.lang.String cannot be converted to JSONObject
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

谢谢

MBy*_*ByD 9

好像你试图从带有额外引号的String中实例化它.你需要删除包装引号(我没有使用你的字符串,但举一个例子让它更清晰):

还行吧:

String jStr= "{\"param1\":\"hello\"}";
JSONObject jObj = new JSONObject(jStr);
Run Code Online (Sandbox Code Playgroud)

这不是:

String jStr= "\"{\"param1\":\"hello\"}\"";
//  note this ^^             and this ^^ 
JSONObject jObj = new JSONObject(jStr);
Run Code Online (Sandbox Code Playgroud)