zoukankan      html  css  js  c++  java
  • FastJSON使用例子

    FastjsonTest.java

    package demo;
    
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.List;
    import java.util.Map;
    
    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.TypeReference;
    import com.alibaba.fastjson.serializer.SerializerFeature;
    
    public class FastjsonTest {
        public static void main(String[] args) {
            User user = new User(1, "张三", new Date());
            test1(user);
            test2(user);
            test3(user);
            test4(user);
            test5(user);
            test6(user);
            test7(user);
            test8();
        }
        // 对象转成JSON字符串
        private static void test1(User user) {
            String s = JSON.toJSONString(user);
            print(1,s);
        }
    
        // 对象转成JSON字符串,格式化日期
        private static void test2(User user) {
            String s = JSON.toJSONString(user, SerializerFeature.WriteDateUseDateFormat);
            print(2,s);
        }
    
        // 对象转成JSON字符串,指定日期格式化
        private static void test3(User user) {
            String s = JSON.toJSONStringWithDateFormat(user, "yyyy-MM-dd HH:mm:ss.SSS");
            print(3,s);
        }
    
        // 对象转成JSON字符串,美化JSON格式
        private static void test4(User user) {
            String s = JSON.toJSONStringWithDateFormat(user, "yyyy-MM-dd", SerializerFeature.PrettyFormat);
            print(4,s);
        }
    
        // 对象转成JSON字符串,默认字段值为NULL不获取,可以加上SerializerFeature.WriteMapNullValue获取
        private static void test5(User user) {
            String s = JSON.toJSONStringWithDateFormat(user, "yyyy-MM-dd", SerializerFeature.PrettyFormat, SerializerFeature.WriteMapNullValue);
            print(5,s);
        }
    
        // JSON字符串转化成对象
        private static void test6(User user) {
            String s = JSON.toJSONString(user);
            print(6,s);
            User user2 = JSON.parseObject(s, User.class);
            print(6,user2.toString());
        }
        
        //JSON转成Map<String, Object>
        private static void test7(User user){        
            String json = JSON.toJSONStringWithDateFormat(user, "yyyy-MM-dd");
            Map<String, Object> map1 = JSON.parseObject(json, new TypeReference<Map<String, Object>>(){});        
            print(7, map1.toString());
        }
        
        //JSON转成List<Map>
        private static void test8()    {
            User user1 = new User(1, "张三", new Date());
            User user2 = new User(2, "李四", new Date());
            List<User> list1 = new ArrayList<User>();
            list1.add(user1);
            list1.add(user2);        
            String json = JSON.toJSONString(list1);
            List<Map> maplist = JSON.parseArray(json, Map.class);        
            print(8, maplist.toString());
        }
    
        private static void print(int method, String info) {
            System.out.print("test" + method + "输出:
    " + info + "
    ");
        }
    }

    User.java

    package demo;
    
    import java.util.Date;
    import java.util.List;
    
    public class User {
        private Integer id;
        private String name;
        private Date createDate;    
        private String password;
        
        public User(){        
        }
        
        public User(int id, String name, Date createDate) {
            this.id = id;
            this.name = name;
            this.createDate = createDate;
        }
    
        public Integer getId() {
            return id;
        }
    
        public void setId(Integer id) {
            this.id = id;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }    
        
        public Date getCreateDate() {
            return createDate;
        }
    
        public void setCreateDate(Date createDate) {
            this.createDate = createDate;
        }
    
        public String getPassword() {
            return password;
        }
    
        public void setPassword(String password) {
            this.password = password;
        }
        
        @Override
        public String toString() {
            return "user [id="+id+",name="+name+",createDate="+createDate+",password="+password+"]";
        }
    
    }

    运行结果:

    test1输出:
    {"createDate":1564739625396,"id":1,"name":"张三"}
    test2输出:
    {"createDate":"2019-08-02 17:53:45","id":1,"name":"张三"}
    test3输出:
    {"createDate":"2019-08-02 17:53:45.396","id":1,"name":"张三"}
    test4输出:
    {
    	"createDate":"2019-08-02",
    	"id":1,
    	"name":"张三"
    }
    test5输出:
    {
    	"createDate":"2019-08-02",
    	"id":1,
    	"name":"张三",
    	"password":null
    }
    test6输出:
    {"createDate":1564739625396,"id":1,"name":"张三"}
    test6输出:
    user [id=1,name=张三,createDate=Fri Aug 02 17:53:45 CST 2019,password=null]
    test7输出:
    {id=1, name=张三, createDate=2019-08-02}
    test8输出:
    [{id=1, name=张三, createDate=1564739625490}, {id=2, name=李四, createDate=1564739625490}]
  • 相关阅读:
    《UNIX环境高级编程》笔记--UNIX标准化及实现
    SPOJ1811最长公共子串问题(后缀自动机)
    一个leetcode解题报告类目,代码很简洁
    字符压缩题目
    求最佳会议地点
    实现树的横向指针
    lower_bound与upper_bound
    求到所有房子距离和最小的新房子
    增加限制条件的矩阵求和
    切分数组来得到一定的和
  • 原文地址:https://www.cnblogs.com/gdjlc/p/11290328.html
Copyright © 2011-2022 走看看