java对象的序列化
序列化一fastJSON
使用介绍:
Fastjson的最主要的使用入口是com.alibaba.fastjson.JSON
import com.alibaba.fastjson.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 com.alibaba.fastjson.JSON
List<String> list = new ArrayList<>();
list.add("a");
//对象转json串
String json = JSON.toJSONString(list);
//json串转对象,两种方式都可以
List<String> list2 = JSON.parseObject(json,new TypeReference<List<String>>(){});
List<String> list3 = JSON.parseObject(json,List.class);
序列化二Serializable
import org.apache.commons.codec.binary.Base64
import org.apache.commons.lang3.SerializationUtils
ArrayList<String> list = new ArrayList<>();
list.add("a");
//对象序列化
byte[] bytes = SerializationUtils.serialize(list);
String str = Base64.encodeBase64String(bytes);
//反序列化
ArrayList<String> list2 = SerializationUtils.deserialize(Base64.decodeBase64(str));