开发者

Trouble with Android JSONObject from Grails webservice

Okay I am quering data from a Grails webservice that returns JSON. The JSON when viewed with the JSONViewer app parses fine. When I take that same string and use JSONObject(string) in my Android app I get "value of String cannot be converted to JSONObject."

Here's my JSON string

[[{"class":"mygrails.TopTen","id":491,"ttAmount":14200000,"ttMlId":402,"ttRank":1,"ttWeekId":1108},{"class":"mygrails.MovieList","id":402,"mlApproved":1,"mlApprovedId":5,"mlMovieId":"GNOMEOAN","mlReleaseDate":"2011-03-08T07:41:45Z","mlTitle":"Gnomeo and Juliet","mlWeekId":1106}]]

Now the JSON is comes from the standard JSON conversion of a SQL data using render from the groovy file through the import grails.converters.JSON.

... //(call to render JSON in the groovy file)
def a
a = Table.findAll("from someTable a开发者_运维百科s st where st.id=" params.id)
render a as JSON
...

So I am not sure what I doing wrong and why the JSON looks a little off to me. (still new to JSON)


In json if you see "[]" means its a json array and if you see "{}" it is an json object. Both of then can have the other nested inside then.

In your case the string the starts with json array.

So try something like the following

String str = "[[{"class":"mygrails.TopTen","id":491,"ttAmount":14200000,"ttMlId":402,"ttRank":1,"ttWeekId":1108},{"class":"mygrails.MovieList","id":402,"mlApproved":1,"mlApprovedId":5,"mlMovieId":"GNOMEOAN","mlReleaseDate":"2011-03-08T07:41:45Z","mlTitle":"Gnomeo and Juliet","mlWeekId":1106}]]";

JSONArray jsonArray = new JSONArray(str);

jsonArray = jsonArray.getJSONArray(0);

JSONObject jsonObject = jsonArray.getJSONObject(0);

String class = jsonObject.getString("class"); // class will value "mygrails.TopTen"


Try to create an JSONArray from the String instead of JSONObject. I didn't test this but that should do the trick: you have two nested arrays that contain then actual data.


Check out your JSON online with http://jsonformat.com/

http://www.freeformatter.com/json-formatter.html

JSON Viewer http://jsonviewer.stack.hu/

Paste your text in there and you can see what you should parse:

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜