我需要解析下面给出的JSON数据。
{"result":[{"bookId":142645,"bookpb":"MF",
"bookTs":1328999630000,"clipStatus":"D","bookDetail":{"arrival":1,"purchase":1,"sold":1},
"hierarchies":{"categories":["4"],"events":[]},"shopId":769752},
upto“sold”它工作正常。但是当我试图解析类别时,它无法正常工作。 下面给出的是解析数据的代码。
ArrayList<BookItem> resultdata = new ArrayList<BookItem>();
JSONArray jsonArray = (new JSONObject(inputString))
.getJSONArray("result");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
item = new BookItem();
item.setbookId(jsonObject.optString(book_ID));
item.setPurchase(jsonObject.optInt(PURCHASE));
item.setArrival(jsonObject.optInt(ARRIVAL));
item.setSold(jsonObject.optInt(SOLD));
item.setbookTs(jsonObject.optString(book_TS));
JSONObject hierarchies=jsonObject.getJSONObject(HIERARCHY);
item.setCategory(hierarchies.getInt("categories"));
resultdata.add(item);
}
任何人都可以帮助我吗?
我开始知道这是
的问题 {"categories":["4"],"events":[]}
data.how我可以解析这个数组值吗?
答案 0 :(得分:0)
为了您的目的,最好的解决方案可能是GSON库。它自己进行序列化和反序列化,你将得到你的对象。 http://code.google.com/p/google-gson/
答案 1 :(得分:0)
categories是JSONArray以获取JSONArray
替换
item.setCategory(hierarchies.getInt("categories"));
与
item.setCategory(hierarchies.getJSONArray("categories").getInt(0));