fastjson在官网的定义号称最小最快 多态的json序列化工具。fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson。并且还超越了google的二进制协议protocol buf。
JSON这个类是fastjson API的入口,主要的功能都通过这个类提供。下面是这个类的重要几个方法介绍:
package com.alibaba.fastjson; public abstract class JSON { // 将Java对象序列化为JSON字符串,支持各种各种Java基本类型和JavaBean public static String toJSONString(Object object,SerializerFeature... features); // 将Java对象序列化为JSON字符串,返回JSON字符串的utf-8 bytes public static byte[] toJSONBytes(Object object,SerializerFeature... features); // 将Java对象序列化为JSON字符串,写入到Writer中 public static void writeJSONString(Writer writer,Object object,SerializerFeature... features); // 将Java对象序列化为JSON字符串,按UTF-8编码写入到OutputStream中 public static final int writeJSONString(OutputStream os,// Object object,// SerializerFeature... features); }
JSON字符串反序列化API
package com.alibaba.fastjson; public abstract class JSON { // 将JSON字符串反序列化为JavaBean public static <T> T parSEObject(String jsonStr,Class<T> clazz,Feature... features); // 将JSON字符串反序列化为JavaBean public static <T> T parSEObject(byte[] jsonBytes,// UTF-8格式的JSON字符串 Class<T> clazz,Feature... features); // 将JSON字符串反序列化为泛型类型的JavaBean public static <T> T parSEObject(String text,TypeReference<T> type,Feature... features); // 将JSON字符串反序列为JSONObject public static JSONObject parSEObject(String text); }
Demo
import com.alibaba.fastjson.*; JSONObject jsonObj = JSON.parSEObject(jsonStr);
parse POJO
import com.alibaba.fastjson.JSON; Model model = JSON.parSEObject(jsonStr,Model.class);
parse POJO Generic
import com.alibaba.fastjson.JSON; Type type = new TypeReference<List<Model>>() {}.getType(); List<Model> list = JSON.parSEObject(jsonStr,type);
convert POJO to json string
import com.alibaba.fastjson.JSON; Model model = ...; String jsonStr = JSON.toJSONString(model);
convert POJO to json bytes
import com.alibaba.fastjson.JSON; Model model = ...; byte[] jsonBytes = JSON.toJSONBytes(model);
write POJO as json string to OutputStream
import com.alibaba.fastjson.JSON; Model model = ...; OutputStream os; JSON.writeJSONString(os,model);
write POJO as json string to Writer
import com.alibaba.fastjson.JSON; Model model = ...; Writer writer = ...; JSON.writeJSONString(writer,model);
总结:
更多关于fastjson的知识可以去w3c去了解:https://www.w3cschool.cn/fastjson/