fastjson 错误json校验通过,这不符合常识。

qoefvg9y  于 5个月前  发布在  其他
关注(0)|答案(8)|浏览(49)

问题:在String字符串最后一个对象后边有逗号,可以用JSON.pars()进行正常转换。
示例:
{
"relationJson": {
"key":"common"
},
"data": {
"jsonColumnRule":{
"type":"Object"
},
"productType":{
"jsonColumnRule":{
"type":"Integer",
"scope":"1,2,3,4,5"
}
},
"before":{
"jsonColumnRule":{
"type":"String"
}
},
"after":{
"jsonColumnRule":{
"type":"String"
}
},
}
}

ma8fv8wu

ma8fv8wu1#

fastjson目前做了一些容错,你希望不支持?

axkjgtzd

axkjgtzd2#

赞一个容错,只不过是不是可以打一个WARN出来呢。

mo49yndu

mo49yndu3#

容错是好事,但是错误的json就是错误的,我要做json校验的话,没有任何异常信息,我会认为他是对的,所以在能容错的情况下把错误信息打出来不是更好。

wgeznvg7

wgeznvg75#

我是发现用在线的json校验工具和Gson转换都不能通过才提出来的。

cvxl0en2

cvxl0en26#

Feature.AllowArbitraryCommas 这个特性对单个逗号在前面出现,或者后面出现多个的时候支持容错。但视乎在这个用例的场景(后面单个逗号)在解析的时候并不会被验出无效。 目前没想到好的办法。 mark一下。

uhry853o

uhry853o7#

单独校验一个逗号感觉一样不大。
一般我们说得校验是schema的校验,比如要求有属性a和b,出现c和d,a是int的,结果是string。

mznpcxlj

mznpcxlj8#

如何关闭这个容错呢

相关问题