问题标签 [jackson-module-scala]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - 使用 Scala Jackson 进行 JSON 反序列化?
我是 scala 的新手,并试图将我的 json 映射到一个对象。我找到了 jackson-scala-module 但无法弄清楚如何使用它。一个小例子可能会有所帮助。
我想将此映射到Person(name: String, age: Int, height: Int, weight: Int)
直到现在我一直在尝试使用这个:
我正在使用的依赖项:
我错过了什么吗?
编辑:
json - Jackson:使用任意非字符串键(反)序列化 Map
我有一个由本身需要序列化为 JSON 的类型键入的 Scala Map。由于 JSON 的性质要求对象的键名是字符串,因此无法直接进行简单的映射。
我希望实现的解决方法是在序列化为 JSON 之前将 Map 转换为 Set,然后在反序列化后从 Set 转换回 Map。
我知道在特定类型上使用密钥序列化程序的其他方法,例如Serialising Map with Jackson,但是,我需要一个适用于任意密钥类型的解决方案,在这方面,转换为 Set 并再次转换在我看来是最好的选择。
通过从下面的jackson-module-scala修改MapSerializerModule.scala ,我已经成功地将带有包装对象的 Set 序列化为 Set ,但我对 Jackson 的内部结构不够熟悉,无法让 JSON 反序列化回我开始的 Map和。
我应该补充一点,我控制序列化和反序列化方面,所以 JSON 看起来并不重要。
json - 默认情况下停止 jackson-scala-module 序列化所有字段
使用DefaultObjectMapper
from jackson-scala-module
,在以下示例中,在 Scala 版本field
中序列化,但在 Java 版本中不序列化。设置com.fasterxml.jackson.databind.MapperFeature.AUTO_DETECT_FIELDS
没有效果。
我希望没有字段被序列化,除非一个字段用com.fasterxml.jackson.annotation.JsonInclude
.
斯卡拉
爪哇
scala - Kafka json反序列化器中的Scala classOf泛型类型
我正在使用杰克逊在 scala 中编写一个 kafka json 反序列化器,但是在为杰克逊的readValue()
方法提供泛型类型的类时遇到问题。例如:
注意方法mapper.readValue(bytes, classOf[T])
中的deserialize
。编译失败,出现“需要类类型但找到 T”。
如何才能做到这一点?
scala - Scala:如何防止 Jackson 使用 null 反序列化
假设我有一个案例,例如:
case class Stuff(name:String,stuffs:List[String] = List.empty)
如何防止杰克逊反序列化 json
和
我希望它用
有没有办法配置杰克逊以这种方式工作?还是我必须定义其他构造函数。例如缺少stuffs
json - 某些字段上的杰克逊注释混合不起作用
前言
我想将json反序列化为以下类
使用以下代码:
但由于 jackson 中的错误(如常见问题解答中所述),
以下代码将失败:
有错误:
java.lang.Integer 不能转换为 java.lang.Long
创建以下 mixin 解决了该错误,并且代码按预期工作:
问题
在我的案例Target
中,类包含很多字段,其中只有一个需要注释。
因此,我想Mixin
只用一个参数来创建:
但是当Mixin
这样定义时,注释似乎没有应用,并且这段代码再次失败:
有没有办法让它工作?
重现问题的完整代码:
scala - 启用 DefaultTyping 时使用 Jackson Scala 枚举序列化失败
OBJECT_AND_NON_CONCRETE
当使用设置启用 DefaultTyping 时,我看到 Jackson 库无法序列化 Scala 枚举。请注意,当我使用JAVA_LANG_OBJECT
设置时,序列化工作正常。
我看到以下异常
这是一个示例代码
我试过使用https://github.com/FasterXML/jackson-module-scala/wiki/Enumerations@JsonScalaEnumeration
中提到的,但似乎没有帮助。
提前致谢。