JSON 数组和 Scala Seq

标签 json scala deserialization

我有像 class A(b:Seq[String]) 这样的 Scala 类

我的问题是当我从没有 b 的文本中反序列化它时我的类(class)包含的字段 null .可以强制 deserealizer 填充空 Seq ?

我用 com.fasterxml.jackson.databind.ObjectMappercom.fasterxml.jackson.module.scala.DefaultScalaModule .

编辑:
我想要解决所有这些字段而不明确提及它们的完整列表的解决方案。我正在更改所有声明。

最佳答案

不幸的是, jackson 目前不支持这一点。

您可以在此处查看相关的 GitHub 票证:https://github.com/FasterXML/jackson-databind/issues/347

最好的办法是映射 null成空Seq在类构造函数或访问器方法中:

class A(_b: Seq[String]) {
  val b = _b match {
    case null => Nil
    case bs => bs
  }
}

(另见 https://stackoverflow.com/a/20655330/8261 其他选项)

关于JSON 数组和 Scala Seq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32786321/

相关文章:

c++ - 使用 boost json_parser 需要指导

java - 更改剪贴板内容的事件

c# - 使用不带引号的十六进制值反序列化 JSON

java - 使用 Jackson 反序列化时防止 float 到 int 的转换

Scala : Way to use a function directly into the println(. ..) 使用字符串插值

c# - 类型不匹配时如何使 ASP.NET Web API 反序列化失败

php - JSON:从另一个域检索 JSON 文件

javascript - AngularJS JavaScript 解析 JSON 的一部分

javascript - Angular 完成渲染后运行 JQuery 代码

ScalaTest v3 : why require to implement convertToLegacyEqualizer