fastJson使用

fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,由阿里巴巴的工程师开发。git

主要特色:github

  • 快速FAST (比其它任何基于Java的解析器和生成器更快,包括jacksonjson

  • 强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum)maven

  • 零依赖(没有依赖其它任何类库除了JDK)性能

 

maven引用:测试

  <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.23</version>
        </dependency>this

github地址:.net

  https://github.com/alibaba/fastjsonorm

 

测试代码:普通转换json对象,格式化日期,序列化,反序列化对象

/** * @ClassName: FastJson * @date 2017年1月4日 上午9:37:04 */ public class FastJson {    public static void main(String[] args) {        System.out.println("renwohua");        test1();        test2();        test3();        test4();    }        /**对象的JSON序列化*/public static void test1(){    UserInfo userInfo=new UserInfo();    userInfo.setAge(25);    userInfo.setName("Bill");    userInfo.setDate(new Date());    //将对象转换为JSON字符串    String strJson=JSON.toJSONString(userInfo);    System.out.println("JSON="+strJson);}    /**对象反序列化*/public static void test2(){ String json="{\"name\":\"chenggang\",\"age\":24,\"date\":1483494081855}"; //反序列化 UserInfo userInfo=JSON.parseObject(json,UserInfo.class); System.out.println("name:"+userInfo.getName()+", age:"+userInfo.getAge()); //输出毫秒值 System.out.println(JSON.toJSONString(userInfo.getDate(), SerializerFeature.WriteDateUseDateFormat));}/**泛型的反序列化*/public static void test3(){  String json="{\"user\":{\"name\":\"zhangsan\",\"age\":25}}";  Map<String, UserInfo> map = JSON.parseObject(json, new TypeReference<Map<String, UserInfo>>(){});  System.out.println(map.get("user")); }/**格式化日期**/public static void test4(){      Date date=new Date();        //输出毫秒值      System.out.println(JSON.toJSONString(date));      //默认格式为yyyy-MM-dd HH:mm:ss        System.out.println(JSON.toJSONString(date, SerializerFeature.WriteDateUseDateFormat));      //根据自定义格式输出日期       System.out.println(JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd", SerializerFeature.WriteDateUseDateFormat));    }}class UserInfo implements Serializable{     private String name;     private int age;     private Date date;     public void setName(String name){      this.name=name;     }     public String getName(){      return name;     }          public void setAge(int age){      this.age=age;     }     public int getAge(){      return age;     }    public Date getDate() {        return date;    }    public void setDate(Date date) {        this.date = date;    }}

相关文章
相关标签/搜索