FastJson--阿里巴巴公司开源的速度最快的Json和对象转换工具

前端之家收集整理的这篇文章主要介绍了FastJson--阿里巴巴公司开源的速度最快的Json和对象转换工具前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

这是关于FastJson的一个使用Demo,在Java环境下验证的

[java] view plain copy
@H_301_17@
  • classUser{
  • privateintid;
  • privateStringname;
  • publicintgetId(){
  • returnid;
  • }
  • voidsetId(intid){
  • this.id=id;
  • }
  • publicStringgetName(){
  • returnname;
  • voidsetName(Stringname){
  • this.name=name;
  • }
  • copy
      importjava.util.ArrayList;
    1. importjava.util.List;
    2. classGroup{
    3. intid;
    4. privateStringname;
    5. privateList<User>list=newArrayList<User>();
    6. publicList<User>getList(){
    7. returnlist;
    8. voidsetList(List<User>list){
    9. this.list=list;
    10. copy
      classWeibo{
    1. privateStringid;
    2. privateStringcity;
    3. publicWeibo(Stringid,Stringcity){
    4. this.city=city;
    5. publicWeibo(){
    6. publicStringgetId(){
    7. returnid;
    8. voidsetId(Stringid){
    9. publicStringgetCity(){
    10. returncity;
    11. voidsetCity(Stringcity){
    12. this.city=city;
    13. copy
      importjava.util.HashMap;
    1. importjava.util.Map;
    2. importcom.alibaba.fastjson.JSON;
    3. importcom.alibaba.fastjson.JSONArray;
    4. importcom.alibaba.fastjson.JSONObject;
    5. //下面是FastJson的简介:常用的方法
    6. //FastjsonAPI入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。
    7. //publicstaticfinalObjectparse(Stringtext);//把JSON文本parse为JSONObject或者JSONArray
    8. //publicstaticfinalJSONObjectparSEObject(Stringtext);//把JSON文本parse成JSONObject
    9. //publicstaticfinal<T>TparSEObject(Stringtext,Class<T>clazz);//把JSON文本parse为JavaBean
    10. //publicstaticfinalJSONArrayparseArray(Stringtext);//把JSON文本parse成JSONArray
    11. //publicstaticfinal<T>List<T>parseArray(Stringtext,Class<T>clazz);//把JSON文本parse成JavaBean集合
    12. //publicstaticfinalStringtoJSONString(Objectobject);//将JavaBean序列化为JSON文本
    13. //publicstaticfinalStringtoJSONString(Objectobject,booleanprettyFormat);//将JavaBean序列化为带格式的JSON文本
    14. //publicstaticfinalObjecttoJSON(ObjectjavaObject);将JavaBean转换为JSONObject或者JSONArray(和上面方法的区别是返回值是不一样的)
    15. /**
    16. *这是关于FastJson的一个使用Demo,在Java环境下验证的;
    17. *使用的时候可以参照这个例子进行回忆!
    18. *备注:下面写的Json格式的数据"前面的\,意思是告诉编译器忽略掉它后面的"。
    19. *后面定义有三个类:User、Group、Weibo
    20. *@authorliuzhao
    21. */
    22. classJsonDemo{
    23. staticvoidmain(String[]args){
    24. json2JsonObjectM1();//将Json文本数据信息转换为JsonObject对象,然后利用键值对的方式获取信息
    25. json2BeanM2();//将Json文本数据转换为JavaBean数据!
    26. json2JSONArrayM3();//将json数据转化为JSONArray:
    27. json2JavaBeanM4();//将JSON文本转换为JavaBean的集合;转换为单纯的1个Object:parSEObject(Stringtext,Class<T>clazz);
    28. bean2JsonM5();//将JavaBean转换为Json格式的数据/Json文本用户数据的传递:例如上传服务器
    29. bean2JSONObjectM6();//将JavaBean转换为JSON对象
    30. complexExampleM7();//一个相对复杂的例子:
    31. complex2JsonM8();//一个复杂的Object到Json的Demo
    32. complexMap2JsonM9();//将Map数据转换为JsonString的Demo;这个对RedBoy服务端不就直接破了嘛!
    33. *将Json文本数据信息转换为JsonObject对象,然后利用键值对的方式获取信息
    34. voidjson2JsonObjectM1(){
    35. //一个JsonObject文本数据
    36. Strings="{\"name\":\"liuzhao\"}";
    37. //将JsonObject数据转换为Json
    38. JSONObjectobject=JSON.parSEObject(s);
    39. //利用键值对的方式获取到值
    40. System.out.println(object.get("name"));
    41. *打印:
    42. *liuzhao
    43. */
    44. *将Json文本数据转换为JavaBean数据!
    45. *需要注意的是:这时候的Json文本信息中的键的名称必须和JavaBean中的字段名称一样!键中没有的在这个JavaBean中就显示为null!
    46. voidjson2BeanM2(){
    47. Strings="{\"id\":\"0375\",\"city\":\"平顶山\"}";
    48. //一个简单方便的方法将Json文本信息转换为JsonObject对象的同时转换为JavaBean对象!
    49. Weiboweibo=JSON.parSEObject(s,Weibo.class);//Weibo类在下边定义
    50. System.out.println(weibo.getId());
    51. System.out.println(weibo.getCity());
    52. //打印的结果0375
    53. //平顶山
    54. /**
    55. *将Map类型的数据转换为JsonString
    56. voidcomplexMap2JsonM9(){
    57. Groupgroup=newGroup();
    58. group.setId(1);
    59. group.setName("group");
    60. Useruser1=newUser();
    61. user1.setId(2);
    62. user1.setName("user1");
    63. Useruser2= user2.setId(3);
    64. user2.setName("user2");
    65. group.getList().add(user1);
    66. group.getList().add(user2);
    67. Map<Integer,Object>map=newHashMap<Integer,Object>();
    68. map.put(1,"No.1");
    69. map.put(2,"No.2");
    70. 3,group.getList());
    71. StringjsonString=JSON.toJSONString(map);
    72. System.out.println(jsonString);
    73. *输出:{1:"No.1",2:"No.2",3:[{"id":2,"name":"user1"},{"id":3,"name":"user2"}]}
    74. *由一个复杂的Object到Json的Demo
    75. voidcomplex2JsonM8(){
    76. StringjsonString=JSON.toJSONString(group);
    77. *输出:{"id":1,"list":[{"id":2,"name":"user2"}],"name":"group"}
    78. *一个相对复杂的例子:
    79. *JSON文本数据:
    80. *首先是JSONObject,转换为JSONArray;
    81. *然后将JSONArray转换为JavaBean
    82. voidcomplexExampleM7(){
    83. Strings="{js:[{id:\"110000\",\"city\":\"北#001京市\"},{id:\"110000\",\"city\":\"北#002京市\"}"
    84. +",\"city\":\"北#002京市\"},"
    85. +"{id:\"110000\",\"city\":\"#006北#005京市\"},"
    86. +"{id:\"110000\",{id:\"120000\",\"city\":\"天#009津市\"}]}";
    87. JSONObjectobject=JSON.parSEObject(s);
    88. ObjectjsonArray=object.get("js");
    89. System.out.println(jsonArray);
    90. List<Weibo>list=JSON.parseArray(jsonArray+"",Weibo.class);
    91. for(Weiboweibo:list){
    92. *将JavaBean转换为JSON对象
    93. voidbean2JSONObjectM6(){
    94. Weiboweibo=newWeibo("0373","洛阳");
    95. JSONObjectjson=(JSONObject)JSON.toJSON(weibo);
    96. System.out.println(json.get("id"));
    97. *0373
    98. *将JSON文本转换为JavaBean的集合;
    99. *内部实现肯定是:首先转换为JSONArray,然后再转换为List集合
    100. voidjson2JavaBeanM4(){
    101. Strings="[{\"id\":\"0375\",\"city\":\"平顶山\"},{\"id\":\"0377\",\"city\":\"南阳\"}]";
    102. List<Weibo>list=JSON.parseArray(s,153); background-color:inherit; font-weight:bold">class);
    103. for(Weiboweibo:list){
    104. System.out.println(weibo.getCity());
    105. *平顶山
    106. *南阳
    107. *将json数据转化为JSONArray:
    108. *注意:获取到JSONArray之后(我们这里只是获取到JSONArray而不是JavaBean的List集合)
    109. *获取JSONArray中的数据转换为String类型需要在外边加"";
    110. voidjson2JSONArrayM3(){
    111. //将JSON文本转换为JSONArray
    112. JSONArrayarray=JSON.parseArray(s);
    113. //这行必须写:必须加上+"";不然会报出类型强转异常!
    114. Stringstr=array.get(1)+"";
    115. System.out.println(array.get(0));
    116. JSONObjectobject=JSON.parSEObject(str);
    117. System.out.println(object.get("id"));
    118. *{"city":"平顶山","id":"0375"}
    119. 0377
    120. *将JavaBean转换为Json格式的数据/Json文本
    121. *用户数据的传递:例如上传服务器
    122. voidbean2JsonM5(){
    123. newWeibo("123456","上海");
    124. Stringstring=JSON.toJSONString(weibo);
    125. System.out.println(string);
    126. *{"city":"上海","id":"123456"}
    127. }

    转自: http://www.oschina.net/code/snippet_228315_35122

    猜你在找的Json相关文章