我有这种格式的JSON对象:解析JSON <字符串,ArrayList的<String>>在机器人
{ “1”:[ “1”, “test.txt的”, “authortest” ,“sizetest”],“2”:[“2”,“GraphTheory.pdf”,“testing”,“0”]}
它是Map> listMap;
现在我需要解析它在这里:
给出答案解析像这样做:
protected Map<String,ArrayList<String>> doInBackground(
String... arg0) {
JSONParser jParser = new JSONParser();
String json = jParser.getJSONFromUrl(url);
Gson gson = new Gson();
Type type = new TypeToken<Map<String, List<String>>>() {}.getType();
Map<String,ArrayList<String>> allBookList = gson.fromJson(json, type);
return allBookList;
}
这里每个映射包含一个ArrayList有三个项目:BOOKNAME,BOOKAUTHOR和书本型。
@Override
protected void onPostExecute(Map<String, ArrayList<String>> result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
ListAdapter adapter = new SimpleAdapter(
ViewLibrary.this, result,
R.layout.book_item, new String[] { BOOKNAME,
BOOKAUTHOR,BOOKSIZE }, new int[] { R.id.bookname,
R.id.bookauthor, R.id.booksize });
lv.setAdapter(adapter);
}
现在我需要显示它在一个listview.How做到这一点? 我觉得适配器需要onPostExecute method.But进行设置,我无法理解它从哪里得到这三个how.As:BOOKNAME, BOOKAUTHOR,书本型
它不工作?怎么了? – Salem 2014-11-22 16:48:12
@Salem我是JSON的新用户,所以我不知道如何解析它。 – user3185653 2014-11-22 16:49:21