fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,由阿里巴巴的工程师开发。git
主要特色:github
快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson)json
强大(支持普通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; }}