android用java处理二维json数组并放入listview中。

2025-02-13 10:59:56
推荐回答(1个)
回答1:

用谷歌提供的gson包,或者是阿里巴巴提供的fastjson包,方便快捷。

把javabean的里面的变量的声明和json关键词一样。

比如{"id":"30","title":"��������","num":"3","author":"���B��","lpostt":"2015-01-07 19:33:50"}

javabean就为
public class Bean{
private String id;
private String title;
private String num;
private String author;
private String lpostt;
...//get和set我就不写了
}

fastjson包使用:

import com.alibaba.fastjson.JSONObject;
...
JSONObject object=JSON.parseObject(String);//这是获取一个JSONObject对象使用方法和org.json.JSONObject差不多
//Bean中的变量名必须和返回过来的JSON串里面的参数一样,不一样的变量名将不会有数据。多了或者少了不会有影响。
List beanList=JSON.parseArray(String,Bean.class);//JSON数组,解析成一个list
Bean bean=JSON.parseObject(String,Bean.class)//JSON数据,解析成一个对象

如果JSON中的元素还有JSON数据,比如{“id”:{"data","123"}}

public class Bean{
   private Data id;
   ...//省略get和set
}
//下面是另一个javabean文件
public class Data{
private String data;
...//省略get和set
}

解析的办法和上面一样。是json数组就在javabean里面定义list。

使用Gson包和fastjson类似,但是还是有区别

Gson gson=new Gson();//需要先实例化一个Gson对象
Bean bean=gson.fromJson(String,Bean.class);//JSON数据,返回一个Bean对象
List beanList=gson.fromJson(String,new TypeToken>(){}.getType());//JSON数组,返回一个List对象

最后,当你将你的JSON数据解析成了List,难道放入ListView中不就轻而易举了吗?

不知道为什么附件不能上传,你就只能自行下载了。搜一下就出来了