4
版本: 1.2.60(包含)之后的所有版本 BUG描述: JSON.isValid("12312321")入参为纯数字字符时,恒返回 true; 1.2.58暂未发现此问题
版本: 1.2.60(包含)之后的所有版本 BUG描述: JSON.isValid("12312321")入参为纯数字字符时,恒返回 true; 1.2.58暂未发现此问题
@deprecated Please use {@link com.alibaba.fastjson.JSONValidator} instead. 过时了,所以不使用它吧。
不过我试了,任意整数验证结果都是true。然后我在json.cn验证,纯数字也算json,所以其实是1.2.58之前的才算是BUG吧。
68的版本给你抛异常,这个操作有点意思了...
JSONValidator jsonValidator = JSONValidator.fromUtf8(jsonStr.getBytes()); return jsonValidator.validate();
有意思的是,过时的校验方法,存在问题
System.err.println(JSON.isValid("{ggg23: wer,}"));
这段代码竟然反会true
Number/String 都是合法的Json,类型是Value
如果要只需要Array/Object类型,可以这样写
JSONValidator jsonValidator = JSONValidator.from(jsonString);
boolean isValid = jsonValidator.validate() && !ObjectUtils.nullSafeEquals(jsonValidator.getType(), Type.Value)