fastjson 如何判断一个JSON字符串是普通JSON(JSONObject)还是数组JSON(JSONArray)?

hmmo2u0o  于 2021-11-27  发布在  Java
关注(0)|答案(13)|浏览(633)

我目前只知道根据首字符是{、[,或末字符是}、]来判断,还有其他方式么?

jum4pzuy

jum4pzuy1#

正则表达式和首字符或末字符类似就不用说了。

thtygnil

thtygnil2#

@LSL1618 可以用APIJSON里JSON类的两个方法
boolean isJSONObject(Object obj)
boolean isJSONArray(Object obj)

https://github.com/TommyLemon/APIJSON/blob/master/APIJSON(Server)/APIJSON(Idea)/src/main/java/zuo/biao/apijson/JSON.java

zbq4xfa0

zbq4xfa03#

@TommyLemon ,好的,我瞧瞧去!

yk9xbfzb

yk9xbfzb4#

paramObj instanceof JSONArray,直接用instanceof判断一下就可以了

lymgl2op

lymgl2op5#

@wujiedong 字符串。。。。不可能instanceof JSONArray吧。。。。

n3h0vuf2

n3h0vuf26#

Object obj = JSON.parse(str);
if(obj instanceof JSONObject) {

}else if if(obj instanceof JSONArray) {

}else {}

wxclj1h5

wxclj1h57#

@Weirdo-Z ,正解,字符串去instanceof JSONArray肯定匹配不上。

o2rvlv0m

o2rvlv0m8#

@JerryX ,你的思路是先解析再判断类型,可行。不过需要先过滤掉非法JSON字符串,要不然会报异常。

i2loujxw

i2loujxw10#

@LSL1618 这个地址也是失效的

up9lanfz

up9lanfz12#

上面所有的链接都失效啦,来个能用的

相关问题