Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
233 views
in Technique[技术] by (71.8m points)

android - Issue initializing a JSONObject

I'm trying to initialize a JSONObject with the following string, received from a web service:

"{
    "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"
}"

It seems to be valid json (it validates in jsonlint.com), but when initializing a JSONObject with that I get:

org.json.JSONException: Value  of type java.lang.String cannot be converted to JSONObject

Anybody can help?

Thanks

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Seems like you are trying to instantiate it from a String with extra quotes. You need to remove the wrapping quotes(I'm not using your string, but giving an example to make it clearer):

This is OK:

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

This is not:

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...