gpt4 book ai didi

android - Grails Webservice的Android JSONObject出现问题

转载 作者:行者123 更新时间:2023-12-02 14:59:29 24 4
gpt4 key购买 nike

好的,我正在从返回JSON的Grails网络服务中查询数据。使用JSONViewer应用查看时,JSON解析良好。当我使用相同的字符串并在我的Android应用程序中使用JSONObject(string)时,我得到“String的值无法转换为JSONObject。”

这是我的JSON字符串

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

现在,JSON来自SQL数据的标准JSON转换,该数据使用groovy文件中的render通过导入grails.converters.JSON进行SQL数据转换。
... //(call to render JSON in the groovy file)
def a
a = Table.findAll("from someTable as st where st.id=" params.id)
render a as JSON
...

因此,我不确定我做错了什么以及为什么JSON对我来说看起来有点差。 (对于JSON还是新的)

最佳答案

在json中,如果看到“[]”表示它是一个json数组,如果看到“{}”,则它是一个json对象。然后两者都可以嵌套另一个。

在您的情况下,字符串以json数组开头。

因此,请尝试以下操作

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"

关于android - Grails Webservice的Android JSONObject出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5660101/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com