当前位置: 首页 > 面试题库 >

当case类只有一个字段时如何将json转换为case类

百里默
2023-03-14
问题内容

在游戏2.1中,读取用于将Json编组为对象。但是,当case类只有一个字段时,我该怎么做。适用于更多字段的意识形态无效,因为不使用一个字段“
and”。因此,我没有获得FunctionBuilder。

以下代码为我提供了类型不匹配的信息。我怎样才能解决这个问题?

case class Data(stamm: Seq[String])


implicit val dataReads  = (
  (__ \ "stamm").read(Reads.list[String])
)(Data)

问题答案:

Json组合器不适用于单个字段案例类。

Pascal(此API的编写者)已在此处https://groups.google.com/forum/?fromgroups=#!starred/play-
framework/hGrveOkbJ6U
解释了这种情况

有一些可行的解决方法,例如以下一种:

case class A(value: List[Int])
val areads = (__ \ 'value).read[List[Int]].map{ l => A(l) } // covariant map


 类似资料:
  • 我需要在代码的几个地方将这个映射转换为我的case类,如下所示: 最简单的方法是什么?我能用隐式吗?

  • 问题内容: 我目前正在使用Newtonsoft将一些xml转换为json,以从RestExtension返回。 我的xml格式为 我将其转换为json 如果有多个项目,则可以正常工作。 我得到这个-json中的项目数组(这是我需要的): 但是,当只有一个时,可以这样转换(而不是数组): 正在阅读此内容的我的应用程序开发人员需要json返回一组项,无论是否存在一个或多个。 有没有办法欺骗它,以为它是

  • 我试图用scala编写一个udf函数,并在pyspark工作中使用它。我的数据帧模式是 我正在尝试编写一个udf函数 在这个map函数中,我试图将行强制转换为case类,但无法。我犯了这个错误。 java.lang.ClassCast异常:org.apache.spark.sql.catalyst.expressions.GenericRowwith模式不能强制转换为变量计算变量计算$myRow3

  • 语境 我有控制器测试。我试图将对象UserDto转换为Json,使用的是Gson。 问题 Gson无法转换类型为LocalDate的字段生日。它向我显示错误消息:无法读取HTTP消息:org。springframework。http。转换器。HttpMessageNoteableException:JSON解析错误:意外标记(START\u对象),预期值\u字符串:预期数组或字符串。;嵌套异常为c

  • 我看到过一些关于的博客,这些博客似乎可以很好地为类添加行为。 但是,如果我有一个并且我要怎么办?作为一个case类,我不能扩展它(不推荐/强烈不鼓励从case类继承)。这些皮条客模式是否允许我将数据添加到case类中?