Java:fastjosn 判断是否 json 字符串的坑

继续 json 系列:
Java:找个好用的 json diff (未完待续)
Java:org.skyscreamer.jsonassert.JSONCompare

简记使用 fastjson 遇到的坑。

判断一个字符串是否 json 字符串,fastjson常用的方法是(返回布尔值):

1
JSON.isValid("str")

然而,

  • "{\"aKey\":\"aVule\"}",返回 true,ok
  • "aaaaaaaa",返回 false,ok
  • "0", 返回 true,=======》导致程序产生非预期效果。

最新版本(1.2.75)的fastjson推荐使用 JSONValidator 判断:

1
2
JSONValidator jsonValidator = JSONValidator.from("str");
boolean b = jsonValidator.validate();

然而结果和上面一样。