当值包含一个List并且对该List的引用为NULL时,如何在JSON中迭代Map

时间:2018-10-07 05:08:59

标签: java spring rest jackson

此类返回JSON字符串,但是包含列表的Map值返回NULL指针异常。

尝试了上述各种选项,但仍然会遇到相同的空指针异常。

const userBeforeSave = (req) => {
  const result = Joi.validate(req.object.toJSON(), userValidator, { allowUnknown: true })
  if (result.error) {
    throw new Parse.Error(101, {msg: 'I cannot allow'})
  }
}

1 个答案:

答案 0 :(得分:1)

您遇到的问题是由于null值作为Map中的键,默认的JSON结构是这样的

{
   "Key1" : "Value1",
   "Key2" : "Value2"...
} (This is the simplest form)

在JSON中,我们不能像null : "value"这样违反基本的JSON原理,因此Object Mapper无法将Map转换为JSON String,您需要在地图中包含所有非空键,为此工作

因此,删除行foos.put(null, new Foo("foo4"));将使您的代码正常工作

即使Map允许使用1个NULL键,JSON也不符合它,因此您将面临此错误

希望有帮助!

祝你好运!