fastjson的常用使用方法

  1 package Demo;

  2 

  3 import java.util.ArrayList;

  4 import java.util.Collection;

  5 import java.util.Date;

  6 import java.util.HashMap;

  7 import java.util.List;

  8 import java.util.Vector;

  9 

 10 import com.alibaba.fastjson.JSON;

 11 import com.alibaba.fastjson.JSONArray;

 12 import com.alibaba.fastjson.JSONObject;

 13 import com.alibaba.fastjson.serializer.SerializerFeature;

 14 

 15 import entity.Userinfo;

 16 

 17 /**

 18  * fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。 主要特点:

 19  * 1.快速FAST(比其它任何基于Java的解析器和生成器更快,包括jackson) 强大(支持普通JDK类包括任意Java Bean

 20  * 2.Class、Collection、Map、Date或enum) 零依赖(没有依赖其它任何类库除了JDK)

 21  * 

 22  */

 23 public class TestFastJson {

 24 

 25     public static void main(String[] args) {

 26         String json = "{\"name\":\"chenggang\",\"age\":24}";

 27         String arrayAyy = "[[\'马云',50],null,[\'马化腾',30]]";

 28 //        Entity2json("zhangsan", 24);

 29 //        list2Json();

 30         Complexdata();

 31 //        Deserialization(json);

 32 //        DateFormate(new Date());

 33 //        Json2Eetity(json);

 34 //        String2JSONArray(arrayAyy);

 35     }

 36 

 37     // 实体转为Json

 38     public static void Entity2json(String name, int age) {

 39         Userinfo info = new Userinfo(name, age);

 40         String str_json = JSON.toJSONString(info); //

 41         System.out.println("实体转化为Json" + str_json);

 42     }

 43 

 44     // list转Json

 45     public static void list2Json() {

 46         List<Userinfo> list = new ArrayList<Userinfo>();

 47         Userinfo userinfo1 = new Userinfo("lisi", 15);

 48         Userinfo userinfo2 = new Userinfo("wangwu", 16);

 49         list.add(userinfo1);

 50         list.add(userinfo2);

 51         String json = JSON.toJSONString(list, true);

 52         System.out.println("List集合转json格式字符串 :" + json);

 53     }

 54 

 55     // 字符数组转化为JSon

 56     private static void String2JSONArray(String arrayAyy) {

 57         JSONArray array = JSONArray.parseArray(arrayAyy);

 58         System.out.println("数组:" + array);

 59         System.out.println("数组长度: " + array.size());

 60         Collection nuCon = new Vector();

 61         nuCon.add(null);

 62         array.removeAll(nuCon);

 63         System.out.println("数组:" + array);

 64         System.out.println("数组长度: " + array.size());

 65     }

 66 

 67     // 复杂数据类型

 68     public static void Complexdata() {

 69         HashMap<String, Object> map = new HashMap<String, Object>();

 70         map.put("username", "zhangsan");

 71         map.put("age", 24);

 72         map.put("sex", "男");

 73 

 74         // map集合

 75         HashMap<String, Object> temp = new HashMap<String, Object>();

 76         temp.put("name", "xiaohong");

 77         temp.put("age", "23");

 78         map.put("girlInfo", temp);

 79 

 80         // list集合

 81         List<String> list = new ArrayList<String>();

 82         list.add("爬山");

 83         list.add("骑车");

 84         list.add("旅游");

 85         map.put("hobby", list);

 86         String jsonString = JSON.toJSONString(map);

 87         System.out.println("复杂数据类型:" + jsonString);

 88     }

 89 

 90     public static void Deserialization(String json) {

 91         Userinfo userInfo = JSON.parseObject(json, Userinfo.class);

 92         System.out.println("姓名是:" + userInfo.getName() + ", 年龄是:"

 93                 + userInfo.getAge());

 94     }

 95 

 96     // 格式话日期

 97     public static void DateFormate(Date date) {

 98         System.out.println("输出毫秒值:" + JSON.toJSONString(date));

 99         System.out.println("默认格式为:"

100                 + JSON.toJSONString(date,

101                         SerializerFeature.WriteDateUseDateFormat));

102         System.out.println("自定义日期:"

103                 + JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd",

104                         SerializerFeature.WriteDateUseDateFormat));

105     }

106 

107     // Json转为实体

108     private static void Json2Eetity(String json) {

109         Userinfo userInfo = JSON.parseObject(json, Userinfo.class);

110         System.out.println("输出对象的地址:" + userInfo.toString());

111         System.out.println("输出对象的名字:" + userInfo.getName());

112     }

113 }

 以上Demo所用到的实体类:

 1 package entity;

 2 

 3 public class Userinfo {

 4     private static final long serialVersionUID = 1L;

 5     private String name;

 6     private int age;

 7 

 8     

 9     public Userinfo() {

10         super();

11     }

12 

13     public Userinfo(String name, int age) {

14         super();

15         this.name = name;

16         this.age = age;

17     }

18 

19     public void setName(String name) {

20         this.name = name;

21     }

22 

23     public String getName() {

24         return name;

25     }

26 

27     public void setAge(int age) {

28         this.age = age;

29     }

30 

31     public int getAge() {

32         return age;

33     }

34 }

 

你可能感兴趣的:(fastjson)