共计 1310 个字符,预计需要花费 4 分钟才能阅读完成。
fastjson 是目前 java 语言中最快的 json 库,比自称最快的 jackson 速度要快,第三方独立测试结果说明比 gson 快大约 6 倍
下面将讲解所有大部分 fastjson 用法和转换:
1,Fastjson 中的经常调用的方法:
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 parseObject(String text, Class clazz); // 把 JSON 文本 parse 为 JavaBean
public static final JSONArray parseArray(String text); // 把 JSON 文本 parse 成 JSONArray
public static final List parseArray(String text, Class 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。
2,Fastjson 字符串转 List<Map<String,Object>>(), 或者 List<String>() 的用法;
List<Map<String, Object>> list = JSONObject.parseObject(respJson, new TypeReference<List<Map<String, Object>>>() {});
3,Fastjson 的 SerializerFeature 序列化属性
QuoteFieldNames———- 输出 key 时是否使用双引号, 默认为 trueWriteMapNullValue——–是否输出值为 null 的字段, 默认为 falseWriteNullNumberAsZero—- 数值字段如果为 null, 输出为 0, 而非 nullWriteNullListAsEmpty—–List 字段如果为 null, 输出为 [], 而非 nullWriteNullStringAsEmpty—字符类型字段如果为 null, 输出为”“, 而非 nullWriteNullBooleanAsFalse–Boolean 字段如果为 null, 输出为 false, 而非 null
例如:JSON.toJSONString(resultMap, SerializerFeature.WriteMapNullValue);