java中json数据格式的应用

分类:json333人阅读评论(0)收藏举报 jsonjavastringlistclassobject

最近做的项目中有一个android的客户端,但是由于手机

如果用xml格式传输数据速度慢而且还费去多余的流量,在网上百度的时候看见了,json的格式.

在这我自己把笔记做上,以防以后忘记,呵呵.....

我这人的记性总是不好!!!!

首先介绍一下json的数据,说白了,它就和xml没有什么大的分别,就是将数据封装起来,以便于在网络上传输或者是使程序易读去.在这我就不多说了,网上很多的比我讲的要清楚!!!!

由于我的项目中是对与在集合中类封装,所以在这我直接将集合中的类.....封装即解析做一下笔记,其他的基本上都是大同小异!!!

[java]view plaincopy
  1. /*
  2. *pojo类,也是我们将要封装的属性类
  3. */
  4. publicclassInfo{
  5. privateStringname;
  6. privateStringaddress;
  7. publicStringgetName(){
  8. returnname;
  9. }
  10. publicvoidsetName(Stringname){
  11. this.name=name;
  12. }
  13. publicStringgetAddress(){
  14. returnaddress;
  15. }
  16. publicvoidsetAddress(Stringaddress){
  17. this.address=address;
  18. }
  19. }
下一步:将属性类封装到集合中,以及将这个集合转换成json字符串数据![java]view plaincopy
  1. importjava.util.Vector;
  2. importnet.sf.json.JSONArray;
  3. publicclassJson{
  4. /*
  5. *将一个list集合封装成json数据后
  6. *它是以字符串的形式发送的!!!
  7. */
  8. publicStringjson(){
  9. Vector<Info>list=newVector<Info>();
  10. Infoa=newInfo();
  11. a.setName("xiaohun");
  12. a.setAddress("xian");
  13. list.add(a);
  14. JSONArrayjson=newJSONArray().fromObject(list);
  15. Stringjon=json.toString();
  16. returnjon;
  17. /*
  18. *jon的结果为一下形式
  19. *[]为集合的识别符
  20. *{}为类的识别符
  21. *[{"address":"xian","name":"xiaohun"}]
  22. */
  23. }
  24. }

然后:数据传输到客户端后的解析.

但是注意,如果直接解析成你生成前的类时,要在客户端同样有一个你生成前的类;着这个例子中位Info.class

[java]view plaincopy
  1. importnet.sf.json.JSONArray;
  2. importnet.sf.json.JSONObject;
  3. importjava.util.Vector;
  4. publicclassJsonToBean{
  5. publicVector<Info>getBean(Stringjson){
  6. //服务端传来的json数据是集合封装成的所以用JSONArray解析
  7. JSONArrayarr=newJSONArray().fromObject(json);
  8. //准备存放解析后的数据集合
  9. Vector<Info>list=newVector<Info>();
  10. //由于是集合所以循环取出每一个集合内的类
  11. for(inti=0;i<arr.size();i++){
  12. /*
  13. *将JSONArray的单一属性转换为Object等待转换Javabean
  14. *经过这一步后数据就分解成多个
  15. *{"address":"xian","name":"xiaohun"}
  16. */
  17. JSONObjectobj=newJSONObject().fromObject(arr.getJSONObject(i));
  18. //将json数据自动的转变成javabean
  19. Objectobject=obj.toBean(obj,Info.class);
  20. Infoinfo=(Info)object;
  21. System.out.println(info.getName());
  22. list.add(info);
  23. }
  24. returnlist;
  25. }
  26. }

项目中所用的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

下载地址


更多相关文章

  1. 我使用生成html文件的python制作了一个脚本。如何使用Web爬网程
  2. 关于解析html并使用shell提取数据
  3. 【网络爬虫】【java】微博爬虫(四):数据处理——jsoup工具解析html
  4. 【ASP.NET Web API教程】5.2 发送HTML表单数据:URL编码的表单数据
  5. HTML5新特性之文件和二进制数据的…
  6. HTML5中window.postMessage,在两个页面之间的数据传递
  7. 使用html5中的base64数据播放音频。
  8. 从html文档中解析数据()[重复]
  9. 对于表格数据,什么渲染更快,CSS或?

随机推荐

  1. android界面布局
  2. 在Android中Preferences数据存储的使用
  3. Android ListView动态刷新
  4. 横竖屏切换时不销毁当前activity 和 锁定
  5. Android多媒体应用——ImageSwitcher
  6. ScrollView滚动条的各种设置
  7. Android(安卓)RecyclerView:设置指定位置
  8. android中获取到当前线程
  9. android 结构分析
  10. ADT在线安装与更新