fastjson 数组格式不正确时特定字符串解析报错

ioekq8ef  于 2021-11-27  发布在  Java
关注(0)|答案(1)|浏览(335)
String jsonStr = "{\"closeAnalysis\":\"test\",\"closeDate\":\"2018-11-27\",\"inspections\":\"\"}";
JSONObject object = JSON.parseObject(jsonStr);
TestClass testClass = JSON.parseObject(jsonStr, TestClass.class);

public class TestClass {

    public List<Integer> inspections;

    public String closeAnalysis;

    public Date closeDate;

}

inspections传入值为空字符串“”,应当被解析为空数组,但是在上面字符串中没有空格的情况下解析报错。
经测试需要以上三个特定类型的字段同时存在的情况下才会报错,另外以下字符串也可以正常解析:
// 在closeAnalysis字段值后面添加空格
String jsonStr = "{"closeAnalysis":"test", "closeDate":"2018-11-27","inspections":""}";
// inspections字段转为正确的数组格式
String jsonStr = "{"closeAnalysis":"test","closeDate":"2018-11-27","inspections":[]}";

wgxvkvu9

wgxvkvu91#

@shiningvon "inspections传入值为空字符串“”,应当被解析为空数组",这个也不是规范操作。
@wenshao 温少看看,其他情况看起来比较诡异。

相关问题