首页 > 学院 > 开发设计 > 正文

fastjson的常用使用方法

2019-11-14 23:16:58
字体:
来源:转载
供稿:网友
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 }


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表