FastJson常用操作

202 阅读1分钟
1、序列化(序列化就是把JavaBean转Json格式字符串):
(1)简单的:
String objJson = JSON.toJSONString(Object object);//object可以是简单bean、List、Map等等;
(2)输出格式化后的 JSON 字符串:
String objJson = JSON.toJSONString(Object object, boolean prettyFormat);
(3)指定格式序列化:
String objJson = JSON.toJSONString(Object object, SerializerFeature... features),例1,使用SerializerFeature特性格式化日期:
String dateJson = JSON.toJSONString(new Date(), SerializerFeature.WriteDateUseDateFormat);
或String dateJson = JSON.toJSONStringWithDateFormat(new Date(), "yyyy-MM-dd HH:mm:ss.SSS");
例2,使用单引号:
String listJson = JSON.toJSONString(list, SerializerFeature.UseSingleQuotes);
2、反序列化(反序列化就是把JSON格式的字符串转化为Java Bean对象):
(1)指定Class信息反序列化:
	User user1 = JSON.parseObject(userJson, User.class);
	List<Map> list1 = JSON.parseArray(listJson, Map.class);//object可以是简单bean、List、Map等等;
(2)泛型的反序列化(使用TypeReference传入类型信息)
	Map<String, Object> map1 = JSON.parseObject(mapJson, new TypeReference<Map<String, Object>>(){});

JSONObject,JSONArray是JSON的两个子类。
JSONObject相当于Map<String, Object>,
JSONArray相当于List<Object>。	

例:将Map转成JSONObject,然后添加元素,输出:
	Map<String, Object> map = new HashMap<String, Object>();
	map.put("key1", "One");
	map.put("key2", "Two");                           
	JSONObject j = new JSONObject(map);
	
例:将List对象转成JSONArray,然后输出:
	List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
	Map<String, Object> map = new HashMap<String, Object>();
	Map<String, Object> map2 = new HashMap<String, Object>();
	list.add(map);
	list.add(map2);
	JSONArray j = JSONArray.parseArray(JSON.toJSONString(list));