-1

这是我从 JSON 文件中收集的字符串。正如预期的那样:

{
   "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 没有任何价值,无论哪个是第一个。有任何想法吗?

干杯

4

1 回答 1

3

那是因为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));
于 2013-06-20T15:10:54.933 回答