1.FastJson(阿里,俗称最快)
依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.36</version>
</dependency>
基本应用方法简介:
1.1 对象转json字符串
JSON.toJSONString(object);
1.2 json字符串转对象
JSON.parseObject(json, 对象类名.class);
1.3 带泛型json字符串转对象
Map<String, UserInfoBean> map =
JSON.parseObject(json, new TypeReference<Map<String, 对象类名>>(){});
1.4 日期对象转json
JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd", SerializerFeature.WriteDateUseDateFormat)
1.5 常用api
// public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray
// public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject
// public static final <T> T parseObject(String text, Class<T> clazz); // 把JSON文本parse为JavaBean
// public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray
// public static final <T> List<T> parseArray(String text, Class<T> clazz); //把JSON文本parse成JavaBean集合
// public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本
// public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本
// public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray(和上面方法的区别是返回值是不一样的)
1.6 总结性代码:
package com.jz.main;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
public class TestJson {
public static void main(String[] args) {
//对象转json字符串简单,就一个toJSONString(对象);方法
User user = new User();
user.setName("zhangsan");
user.setPassword("123");
user.setAge(18);
String string = JSON.toJSONString(user);
System.out.println(string);
System.out.println("..................................................");
//List的json字符串转会list对象,只需要使用parseArray(str,类名.class);
User user1 = new User();
user1.setName("lisi");
user1.setPassword("321");
user1.setAge(17);
List<User> users = new ArrayList<User>();
users.add(user);
users.add(user1);
String string2 = JSON.toJSONString(users);
System.out.println(string2);
List<User> list = JSON.parseArray(string2, User.class);
for (User user2 : list) {
System.out.println(user2);
}
System.out.println("..................................................");
//Map的json字符串转为map对象,使用parseObject(str,new TypeReference<Map<泛型,泛型>>(){});
Map<String,User> map = new HashMap<String,User>();
map.put("用户1", user);
map.put("用户2", user1);
String string3 = JSON.toJSONString(map);
System.out.println(string3);
Map<String, User> map2 = JSON.parseObject(string3, new TypeReference<Map<String,User>>(){});
System.out.println(map2);
}
}