将数据封装为Json数据格式

来源:互联网 发布:.cn域名可以过户吗? 编辑:程序博客网 时间:2024/06/01 09:49
[java] view plain copy
  1. 1. List集合转换成json代码  
  2. List list = new ArrayList();  
  3. list.add( "first" );  
  4. list.add( "second" );  
  5. JSONArray jsonArray2 = JSONArray.fromObject( list );  
  6. 2. Map集合转换成json代码  
  7. Map map = new HashMap();  
  8. map.put("name""json");  
  9. map.put("bool", Boolean.TRUE);  
  10. map.put("int"new Integer(1));  
  11. map.put("arr"new String[] { "a""b" });  
  12. map.put("func""function(i){ return this.arr[i]; }");  
  13. JSONObject json = JSONObject.fromObject(map);  
  14. 3. Bean转换成json代码  
  15. JSONObject jsonObject = JSONObject.fromObject(new JsonBean());  
  16. 4. 数组转换成json代码  
  17. boolean[] boolArray = new boolean[] { truefalsetrue };  
  18. JSONArray jsonArray1 = JSONArray.fromObject(boolArray);  
  19. 5. 一般数据转换成json代码  
  20. JSONArray jsonArray3 = JSONArray.fromObject("['json','is','easy']" );  

[java] view plain copy
  1. // 普通的数据转化为json格式  
  2.     public static void test3()  
  3.     {  
  4.         String str = "[";  
  5.         str += "'wy','12'";  
  6.           
  7.         str += "]";  
  8.           
  9.         System.out.println(str);  
  10.         JSONArray obj = JSONArray.fromObject(str);    
  11.         System.out.println(obj);  
  12.         // {"name":"wy","age":"12"}  
  13.     }  
  14.     // 普通的数据转化为json格式  
  15.     public void test2()  
  16.     {  
  17.         String str = "{";  
  18.         str += "name:[";  
  19.         str += "'wy','eu','we'";  
  20.         str += "]";  
  21.           
  22.         str += "}";  
  23.                   
  24.         System.out.println(str);  
  25.         JSONObject obj = JSONObject.fromObject(str);      
  26.         System.out.println(obj);  
  27.     }  
  28.       
  29.     // list 格式转化为json  
  30.     public void test1()  
  31.     {  
  32.         List list = new ArrayList();  
  33.         for(int i = 0; i < 10; i++)  
  34.         {  
  35.             list.add("test" + i);  
  36.         }  
  37.         System.out.println(list);  
  38.         JSONArray js = JSONArray.fromObject(list);  
  39.         System.out.println(js);  
  40.     }  


1.Google Json利器之Gson

  Gson是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符串转成一个 Java 对象,或者反过来。

  关于Gson更详细的资料,请访问这里:

  GsonAPI:Gson最新版本的API文档

  Gson user guide:在代码中使用Gson进行JSON格式转换的一些例子

  Gson designdocument:包含了在Gson使用过程中的一些问题。

  2.阿里巴巴 Json利器之FastJson

  阿里巴巴说,fastjson是最快的json库。特别在parser方面,fastjson的性能令人惊奇,甚至超越了二进制协议的protobuf

  关于FastJson的具体文档资料,点点这里。

  3.IBM Json利器之Json4J

       IBM封装的一个json工具包,官方的介绍倒是不少,不过真正的用户不多。官方的介绍文字贴一下吧。

  简单 Java 模型,用于构造和处理要作为 JSON 实现来呈示的数据。  

  在期望将 Web Service 产生的 XML 应答转换为 JSON 结构,以方便在“异步 JavaScript 和 XML”(Ajax) 应用程序中使用的情况下,能够从 XML 快速转换为 JSON。进行这种转换带来好处,即采用 Ajax 模式的应用程序可以处理采用 JSON 格式的数据,而在 Microsoft InternetExplorer XML 变换和其他特定于平台的 XML 解析器中不必依赖 ActiveX 对象。此外,采用 JSON 格式的数据更容易压缩,因此传输效率更高。

  JSON 字符串和流解析器,它可以生成相应的 JSONObject,此对象采用 Java 语言来表示 JSON 结构。然后,您可以更改此 JSONObject,并将更改应用于 JSON 实现。


 json-lib和org.json的使用几乎是相同的,我总结出的区别有两点:

      1. org.json比json-lib要轻量得多,前者没有依赖任何其他jar包,而后者要依赖ezmorph和commons的lang、logging、beanutils、collections等组件

      2. json-lib在构造bean和解析bean时比org.json要方便的多,json-lib可直接与bean互相转换,而org.json不能直接与bean相互转换而需要map作为中转,若将bean转为json数据,首先需要先将bean转换为map再将map转为json,比较麻烦。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 tpu手机壳变黄了怎么办 0pp0手机声音小怎么办 橡胶皮套晒坏了怎么办 宝宝晚上吹空调发烧怎么办 玩手机手指尖疼怎么办 手机型号不支持微信运动怎么办 手腕向下压会疼怎么办 手腕韧带拉伤怎么办恢复快 华为手机用车载充电慢怎么办 华为麦芒6充电慢怎么办 oppo手机压弯了怎么办 麦芒5电池不耐用怎么办 华为7x照相模糊怎么办 华为麦芒6照相虚怎么办 荣耀8gps信号弱怎么办 华为麦芒4手机卡顿怎么办 华为麦芒4玩游戏卡怎么办 sim卡换卡通讯录丢了怎么办 换sim卡通讯录怎么办 麦芒4开不了机怎么办 麦芒5开不了机怎么办 麦芒6针丢了怎么办 麦芒6扬声器坏了怎么办 华为手机2s太卡怎么办 华为麦芒6网速慢怎么办 华为麦芒5太卡怎么办 小米note3拍照反应慢怎么办 华为刷机后还要账号密码怎么办 刷机后忘记华为账号和密码怎么办 荣耀7x耗电快怎么办 小米2s死机后怎么办? 电信合约卡不想用了怎么办 vivo合约机掉了怎么办 华为合约机丢了怎么办 两年合约机掉了怎么办 电信合约机丢了怎么办 s8合约机坏了怎么办 合约机的卡掉了怎么办 移动合约机屏幕碎了怎么办 5s用不了电信卡怎么办 vivo手机4g信号差怎么办