你的位置:首页 > Java教程

[Java教程]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 }