java中json数据格式的应用
分类: json2012-08-29 11:29 333人阅读 评论(0) 收藏 举报 jsonjavastringlistclassobject最近做的项目中有一个android的客户端,但是由于手机
如果用xml格式传输数据速度慢而且还费去多余的流量,在网上百度的时候看见了,json的格式.
在这我自己把笔记做上,以防以后忘记,呵呵.....
我这人的记性总是不好!!!!
首先介绍一下json的数据,说白了,它就和xml没有什么大的分别,就是将数据封装起来,以便于在网络上传输或者是使程序易读去.在这我就不多说了,网上很多的比我讲的要清楚!!!!
由于我的项目中是对与在集合中类封装,所以在这我直接将集合中的类.....封装即解析做一下笔记,其他的基本上都是大同小异!!!
- /*
- * pojo类,也是我们将要封装的属性类
- */
- public class Info {
- private String name;
- private String address;
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getAddress() {
- return address;
- }
- public void setAddress(String address) {
- this.address = address;
- }
- }
- import java.util.Vector;
- import net.sf.json.JSONArray;
- public class Json {
- /*
- * 将一个list集合封装成json数据后
- * 它是以字符串的形式发送的!!!
- */
- public String json() {
- Vector<Info> list = new Vector<Info>();
- Info a = new Info();
- a.setName("xiaohun");
- a.setAddress("xian");
- list.add(a);
- JSONArray json = new JSONArray().fromObject(list);
- String jon = json.toString();
- return jon;
- /*
- * jon的结果为一下形式
- * []为集合的识别符
- * {}为类的识别符
- * [{"address":"xian","name":"xiaohun"}]
- */
- }
- }
然后:数据传输到客户端后的解析.
但是注意,如果直接解析成你生成前的类时,要在客户端同样有一个你生成前的类;着这个例子中位Info.class
- import net.sf.json.JSONArray;
- import net.sf.json.JSONObject;
- import java.util.Vector;
- public class JsonToBean {
- public Vector<Info> getBean(String json) {
- //服务端传来的json数据是集合封装成的所以用JSONArray解析
- JSONArray arr = new JSONArray().fromObject(json);
- //准备存放解析后的数据集合
- Vector<Info> list = new Vector<Info>();
- //由于是集合所以循环取出每一个集合内的类
- for (int i = 0; i < arr.size(); i++) {
- /*
- * 将JSONArray的单一属性转换为Object等待转换Javabean
- * 经过这一步后数据就分解成多个
- * {"address":"xian","name":"xiaohun"}
- */
- JSONObject obj = new JSONObject().fromObject(arr.getJSONObject(i));
- //将json数据自动的转变成javabean
- Object object = obj.toBean(obj, Info.class);
- Info info = (Info) object;
- System.out.println(info.getName());
- list.add(info);
- }
- return list;
- }
- }
项目中所用的jar包:
commons-beanutils-1.7.0.jar
commons-collections-3.2.jar
commons-lang-2.0.jar
commons-logging-1.0.4.jar
ezmorph-1.0.2.jar
json-lib-2.4-jdk15.jar