这是从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."
}
}
}
使用此String我创建了一个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没有任何价值。有什么想法吗?
干杯
答案 0 :(得分:3)
那是因为id
和author
都在书内,而不是在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));