阿里巴巴
FastJSON
引入依赖或者Jar包
com.alibaba
fastjson
1.1.23
将Map转成JSON
Map
map = new HashMap (); map.put("key1", "value1");
map.put("key2", "value2");
String mapJson = JSON.toJSONString(map);
System.out.println(mapJson);
//输出{"key1":"value1","key2":"value2"}
//TODO 泛型的反序列化(使用TypeReference传入类型信息)
Map<String, Object> map2 = JSON.parseObject(mapJson, new TypeReference<Map<String, Object>>(){ });
System.out.println(map2);
将List<Map转成JSON
List
Map<String, Object> map1 = new HashMap<String, Object>();
map1.put("key1", "value1");
map1.put("key2", "value2");
Map<String, Object> map2 = new HashMap<String, Object>();
map2.put("key1", "value3");
map2.put("key2", "value4");
list.add(map1);
list.add(map2);
String jsonstr = JSON.toJSONString(list);
System.out.println(jsonstr);
System.out.println("==========================================");
//输出 [{"key1":"value1","key2":"value2"},{"key1":"value3","key2":"value4"}]
// TODO String objJson = JSON.toJSONString(Object object, boolean prettyFormat)
//TODO 传入一个对象和一个布尔类型(是否格式化),将对象转成格式化后的JSON字符串。
String listJson1 = JSONArray.toJSONString(list, true);
System.out.println(listJson1);
System.out.println("==========================================");
String listJson2 = JSONArray.toJSONString(list, false);
System.out.println(listJson2);
System.out.println("==========================================");
//TODO 使用单引号
String listJson = JSON.toJSONString(list, SerializerFeature.UseSingleQuotes);
//输出 [{'key1':'value1','key2':'value2'},{'key1':'value3','key2':'value4'}]
System.out.println(listJson);
System.out.println("==========================================");
//TODO 集合反序列化
List<Map> list1 = JSON.parseArray(listJson, Map.class);
for(Map<String, Object> map : list1){
System.out.println(map.get("key1"));
System.out.println(map.get("key2"));
}
//输出 value1 value2 value3 value4
Java bean
UserDO userDO = new UserDO();
userDO.setId(1);
userDO.setName("乐乐");
userDO.setAge(12);
String userJson = JSON.toJSONString(userDO);
System.out.println(userJson);
//输出 {"age":12,"id":1,"username":"乐乐"}
//TODO 普通序列化
UserDO user1 = (UserDO) JSON.parse(userJson);
System.out.println(user1.getAge());
//输出 12
//TODO 指定Class信息反序列化
UserDO user2 = JSON.parseObject(userJson,UserDO.class);
System.out.println(user2.getName());
//输出 乐乐
时间
//TODO (1)FastJSON将java.util.Date转成long。
String dateJson1 = JSON.toJSONString(new Date());
System.out.println(dateJson1);
System.out.println("==========================================");
//输出 1547900848449
//TODO(2)使用SerializerFeature特性格式化日期。
String dateJson2 = JSON.toJSONString(new Date(), SerializerFeature.WriteDateUseDateFormat);
System.out.println(dateJson2);
System.out.println("==========================================");
//输出 "2019-01-19 20:29:24"
//TODO(3)指定输出日期格式
String dateJson3 = JSON.toJSONStringWithDateFormat(new Date(), "yyyy-MM-dd HH
ss");
System.out.println(dateJson3);
System.out.println("==========================================");
//输出"2019-01-19 20:32:34"
还没有评论,来说两句吧...