FastJson使用笔记

抽空看了一下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、有关类库的一些说明
SerializeWriter:相当于StringBuffer
JSONArray:相当于List
JSONObject:相当于Map
JSON反序列化没有真正数组,本质类型都是List

3、简单的使用例子
1)转Json字符串

    public static String toJson(Object obj) {
        if (ToolUtil.isEmpty(obj)) {
            return null;
        }
        //SerializerFeature.DisableCircularReferenceDetect的作用 是关闭fastJson循环引用
        return JSON.toJSONString(obj, SerializerFeature.DisableCircularReferenceDetect);
    }

默认情况下Date 类型的数据 转成字符串是 时间戳的形式,所以如果是javaBean中存在Date类型的字段,
在字段属性加上 @JSONField(format = “yyyy-MM-dd HH:mm:ss”)进行格式指定

2)Json字符串转JavaBean

 public static  T jsonStrToBean(String jsonStr, Class clazz) {
        if (ToolUtil.isEmpty(jsonStr)) {
            return null;
        }
        return JSON.parseObject(jsonStr, clazz);
    }

3)Json字符串转 Map

    public static Map jsonStrToMap(String jsonStr){
        if(ToolUtil.isEmpty(jsonStr)){
            return null;
        }
        return JSON.parseObject(jsonStr,new TypeReference>(){});
    }

4) Json字符转List

  public static  List jsonStrToList(String jsonStr, Class clazz) {
        if (ToolUtil.isEmpty(jsonStr)) {
            return null;
        }
        return JSON.parseArray(jsonStr, clazz);
    }

4、maven依赖

          
                com.alibaba
                fastjson
                1.2.58
            

参考地址:https://www.w3cschool.cn/fastjson/fastjson-ex2.html

你可能感兴趣的:(java)