【问题标题】:How can I parse this JSONArray/JSONObject like this?我怎样才能像这样解析这个 JSONArray/JSONObject?
【发布时间】:2014-04-15 04:36:57
【问题描述】:

我有这样的 JSON 数据:

  "books": [
        {
            "rating": {}, 
            "subtitle": "", 
            "author": [
                "The OReilly Java Authors"
            ], 
            "pubdate": "2003-9", 
            "tags": [], 
            "origin_title": "",
               …… …… …… …… … … 

我想获取作者数据,一些“作者”数据有多个作者,但我只是混淆了天气我可以这样解析它:

JSONArray jsonbooks = mess.getJSONArray("books");
for(blabla){
   JSONObject obj = jsonbooks.getJSONObject(i);
   obj.getJSONArray("author").get(1):

  JSONArray jsonbooks = mess.getJSONArray("books");
    for(blabla){
     JSONObject obj = jsonbooks.getJSONObject(i); 
     obj.getString("author");

第二种方式,我可以得到像“[”author,blabla“]这样的数据,我想摆脱[””],我需要更多的字符串处理,如果有更好的方式看起来像第一种方式?

【问题讨论】:

标签: android json string


【解决方案1】:

第一个是对的,只是一个变化obj.getJSONArray("author").getString(0):

JSONArray jsonbooks = mess.getJSONArray("books");
for(blabla){
   JSONObject obj = jsonbooks.getJSONObject(i);
   obj.getJSONArray("author").getString(0):

【讨论】:

  • 感谢您的帮助!
  • @Bruce 很高兴它有帮助。快乐编码。
【解决方案2】:

由于作者是一个数组,因此首先将其转换为 jsonArray

JSONArray jsonAuthor = mess.getJSONArray("author");

then String author = jsonAuthor.get(0);  //this will give you -> The OReilly Java Authors

【讨论】:

  • 感谢您的帮助!
【解决方案3】:

希望这会有所帮助:

                JSONArray jsonAuthorNode = booksJsonObject.optJSONArray("author");
                int jsonArrLen = jsonAuthorNode.length();

                for(int j=0;j<jsonArrLen;j++)
                {
                    String authorName = jsonAuthorNode.get(j);
                                    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-09
    • 1970-01-01
    • 2016-05-10
    • 1970-01-01
    • 1970-01-01
    • 2013-10-24
    相关资源
    最近更新 更多