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;    }}

相關文章
相關標籤/搜索