jackson、gson、fastjson
1、jackson用法
(1)创建ObjectMapper对象(可重复使用对象)
ObjectMapper om=new ObjectMapper();
(2)反序列化到对象
Student stu=om.readValue(jsonString,Student.class);
(3)序列化对象到json
JsonString jstr=om.writeValueAsString(stu);
JsonString jstr=om.writeValue(Io流,stu);
例writer w=newStringWrite();
OutputStream ot=new OutPutStream();
2、阿里的fastJson速度最快
(1)序列化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); }
(2)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); }