fastjson进行json的解析和序列化

2020-09-22  本文已影响0人  七秒的记忆_d4a7

一、什么是fastjson

fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。

二、fastjson优势

速度快:相对其他JSON库的特点是快

使用简单: api简单

功能完善:支持泛型,支持流处理超大文本,支持枚举,支持序列化和反序列化扩展

三、fastjson使用

FastJson三个核心类

常用api

// 把JSON文本parse为JSONObject或者JSONArray 
public static final Object parse(String text); 
// 把JSON文本parse成JSONObject 
public static final JSONObject parseObject(String text); 
// 把JSON文本parse为JavaBean 
public static final <T> T parseObject(String text, Class<T> clazz); 
// 把JSON文本parse成JSONArray 
public static final JSONArray parseArray(String text); 
//把JSON文本parse成JavaBean集合 
public static final <T> List<T> parseArray(String text, Class<T> clazz); 
 // 将JavaBean序列化为JSON文本 
public static final String toJSONString(Object object);
// 将JavaBean根据字段特征序列化
public static final String toJSONString(Object object,SerializerFeature... features); 
//将JavaBean转换为JSONObject或者JSONArray。
public static final Object toJSON(Object javaObject); 

四、fastjson高阶使用

1、序列化特征数组

SerializerFeature[] features = {
SerializerFeature.WriteMapNullValue, // 输出空置字段
SerializerFeature.WriteNullListAsEmpty, // list字段如果为null,输出为[],而不是null
SerializerFeature.WriteNullNumberAsZero, // 数值字段如果为null,输出为0,而不是null
SerializerFeature.WriteNullBooleanAsFalse, // Boolean字段如果为null,输出为false,而不是null
SerializerFeature.WriteNullStringAsEmpty, // 字符类型字段如果为null,输出为"",而不是null
};

JSON.toJSONString(object, features);

2、按写入序进行反序列化

Map<String, Object>  map = JSON.parseObject(expressionJson, LinkedHashMap.class, Feature.OrderedField);
上一篇 下一篇

猜你喜欢

热点阅读