原文地址:https://blog.csdn.net/zjxbllg2008/article/details/79799787
Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。
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。
实例
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.JSONArray;
public class TestJson {
@SuppressWarnings("unchecked")
public static void main(String[] args) {
List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> map = new HashMap<>();
map.put("name", "姓名1");
map.put("age", 23);
map.put("sex", "男");
list.add(map);
map = new HashMap<>();
map.put("name", "姓名2");
map.put("age", 32);
map.put("sex", "女");
list.add(map);
// map转成json
Object obj1 = JSON.toJSON(map);
System.out.println("map转成json: " + obj1);
// list转成json
String str1 = JSON.toJSONString(list);
System.out.println("list转成json: " + str1);
User user = new User();
user.setId(12L);
user.setName("ddp");
// 对象转成json
String json1 = JSON.toJSONString(user);
System.out.println("对象转成json: " + json1);
// json格式list转成object
Object obj2 = JSON.parse(str1);
System.out.println(obj2);
// json格式list转成jsonArray
JSONArray obj3 = JSON.parseArray(str1);
System.out.println(obj3);
// json格式的list转成list
List<Map<String, Object>> list1 = JSON.parseObject(str1, List.class);
System.out.println("json格式的list转成list: " + list1);
// json格式的对象转成对应的对象
User user1 = JSON.parseObject(json1, User.class);
System.out.println("json格式的对象转成对应的对象: " + user1.getId());
//
// Map<String, Object> map1 = JSON.toJavaObject(object, Map.class);
// System.out.println(map1);
// System.out.println(map1.get("age"));
}
}
class User {
private Long id;
private String name;
private int age;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}