繁体   English   中英

Android-如何从JSON字符串中提取嵌套值

[英]Android - How to extract nested value from JSON string

这是我从JSON文件中收集的String。 符合预期:

{
   "catalog":{
      "book":{
         "id":"bk101",
         "author":"Gambardella, Matthew",
         "title":"XML Developer's Guide",
         "genre":"Computer",
         "price":"44.95",
         "publish_date":"2000-10-01",
         "description":"An in-depth look at creating applications with XML."
      }
   }
}

使用此字符串,我创建了一个JSONObject。

JSONObject jsonBook = new JSONObject(sb.toString());

然后,我只是尝试提取一些在字符串中看到的参数,例如id和author。

"id": "bk101"`  `"author": "Gambardella, Matthew" 

这是我的方法

book.setAuthor(jsonBook.getString(Book.AUTHOR));
book.setId(jsonBook.getString(Book.ID));

但是我不断收到错误消息,说id / author没有价值,以先到者为准。 有任何想法吗?

干杯

那是因为idauthor都在书里面,而不是json根里面

JSONObject jsonBook = new JSONObject(sb.toString());
JSONObject catalogue = jsonBook.getJSONObject("catalog");
JSONObject jbook = catalogue.getJSONObject("book");

book.setAuthor(jbook.getString(Book.AUTHOR));
book.setId(jbook.getString(Book.ID));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM