gpt4 book ai didi

java - 读取数组中包含 null 值的 json 时出现 NullpointerException

转载 作者:行者123 更新时间:2023-12-02 05:08:14 26 4
gpt4 key购买 nike

有没有办法通过jackson读取这个json而不引起空指针异常。

{
"years": [
null
]
}

years 是一个字符串数组

当没有年份时,这也是有效的 json 格式吗?

最佳答案

如果您仔细查看 Jackson 的教程,您会发现该库为空数组生成的 JSON 使用以下表示法:{ "empty": [ ]}

因此,在将 JSON 发送到 Jackson 之前,您可以尝试用空数组替换数组中的任何单个 null 值,它应该接受而不抛出任何异常。

按照规范,数组的“null”成员实际上是有效的 JSON 语法。另请参阅http://en.wikipedia.org/wiki/JSON 。数组的成员可以是任何类型,因此它们可以是:

  • 字符串
  • 数字
  • boolean 值
  • 数组
  • 对象

但是,对于您的使用场景,我建议使用空数组,因为它更容易编程。例如,考虑一个使用案例,您在每个需要整数输入的“年份”上调用某个函数f()。代码如下 foreach(x in array){f(x);} 将失败,因为您将使用“null”类型而不是整数调用 f(),从而导致错误。如果您使用空数组,则会发生正确的行为,而无需通过显式查找 null 来不同地处理没有年份的情况。这样只会让你的生活更轻松。

关于java - 读取数组中包含 null 值的 json 时出现 NullpointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27574528/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com