Fastjson包使用总结

FastJSON是一个Java语言编写的高性能,功能完善,完全支持http://json.org的标准的JSON库。

MAVEN依赖

<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.1.23</version> </dependency>

 

---1.序列化---将JavaBean对象转成JSON格式的字符创

Fastjson包使用总结

---2.反序列化--将JSON格式的字符串转化成JAVA Bean 对象

Fastjson包使用总结

 

---1--1--基本的序列化--JSON.toJSONString

Map<String,Object> map = new HashMap<String,Object>();

map.put("姓名","张三");

map.put("年龄","18");

map.put("性别","男");

System.out.println(map);

//基本序列化将Map转换成JSON

String mapJson = JSON.toJSONString(map);

System.out.printf(mapJson);

 

---1--2--将List<Map> 转成JSON

 

List<Map<String,Object>> list = new ArrayList<Map<String, Object>>();

Map<String, Object> map1 = new HashMap<String,Object>();

map1.put("姓名","张三");

map1.put("性别","男");

map1.put("年龄","18");

 

Map<String, Object> map2 = new HashMap<String,Object>();

map2.put("姓名","李四");

map2.put("性别","女");

map2.put("年龄","16");

 

list.add(map1);

list.add(map2);

 

String listJson = JSON.toJSONString(list);

System.out.printf(listJson);

 

---1--3--将自定义JavaBean对象转化成JSON格式

 

User user = new User();

user.setUserName("张三");

user.setAge(18);

 

System.out.println(user);

String userString = JSON.toJSONString(user);

System.out.println(userString);

 

---1--4--几个FastJson的常用特性

1.日期格式化,FastJson可以直接对日期进行格式化,在缺省的情况下,FastJson会将Data转成Long

Date date = new Date();

String dataString = JSON.toJSONString(date);

System.out.println(date);

System.out.println(dataString);

 

2.使用SerializerFeature特性格式化日期

Date date = new Date();

String dateJson = JSON.toJSONString(date, SerializerFeature.WriteDateUseDateFormat);

System.out.println(dateJson);

3.指定输出日期格式

Date date = new Date();

String dateJson = JSON.toJSONStringWithDateFormat(date,"yyyy-MM-dd HH:mm:ss.SSS");

System.out.println(dateJson);

 

---2--1--FastJson的 反序列化--JSON.parseObject(userJson,User.class)

 

User user = new User();

user.setUserName("李四");

user.setAge(24);

 

String userJson = JSON.toJSONString(user);

System.out.println(userJson);

///////////////////////////////////////////////////////疑惑

User userJ = JSON.parseObject(userJson,User.class);

System.out.println(userJ);

System.out.println(userJ.getUserName());

System.out.println(userJ.getAge());

System.out.println(userJ.getClass());