fastjson JSON数组反序列化关闭引用检查(版本:1.2.83)

7hiiyaii  于 4个月前  发布在  其他
关注(0)|答案(2)|浏览(42)

我从w3c school了解到fastjson有引用检查机制,对于引用对象可以进行引用的方法序列化,并进行"$ref"文本存储;

但我这边对于文本的设计本身就存在"$ref"关键词,对于反序列化对象,我通过配置 Feature.DisableCircularReferenceDetect 的方式解决了,但对于JSON数组JSONArray.parseArray() 方法并没有提供类似的开关,一旦反序列化$ref中存在不正确的表达式,会出现栈溢出问题,请问这个问题怎么解决?

JSON对象反序列化写法(可以成功)

JSONObject.parseObject(jsonString, Dto.class, Feature.DisableCircularReferenceDetect);

JSON数组反序列化写法(无法成功,没有临时开关,关闭全局开关也不生效)

JSONArray.parseArray(jsonArrayString, Dto.class);

重新罗列一下我的问题

  1. 对于1.2.83办法的fastjson,如何解决存在$ref文本的JSON数组反序列化问题(如何关闭引用检查)
  2. 通过"$ref": "#xxx"的文本写法貌似可以解决这个问题,但不符合我们的文本设计,也不知道有没有什么风险
pgccezyw

pgccezyw1#

没有有好心人帮忙解答一下~

bkhjykvo

bkhjykvo2#

我也遇到了,有谁能解决嘛,坑啊

相关问题