【Java】記錄一個問題:fastjson中JSON.isValid()方法校驗JSON合法性BUG

1.問題描述

JSON.isValid(); JSON.isValidobject(); JSON.isValidArray();
  • 經過debug源碼發現isValid0方法只要字符串開頭是“{”結尾是“}”就都返回true,中間skipObject和skipArray直接跳過了,並沒有校驗每一個字符的合法性。

2.解決辦法

package com.atguigu.flume.interceptor;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONException;

/**
 * @author Nien
 * @create 2020-05-13
 */
public class JSONUtils {
    public static boolean isJSONValidate(String log){
        try {
            JSON.parse(log);
            return true;
        } catch (JSONException e) {
            return false;
        }
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章