Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 这个scala代码中发生了什么_Java_Scala_Jackson_Deserialization - Fatal编程技术网

Java 这个scala代码中发生了什么

Java 这个scala代码中发生了什么,java,scala,jackson,deserialization,Java,Scala,Jackson,Deserialization,我正在尝试运行此链接中的代码,但出现以下错误。不知道我做错了什么 进程已完成,退出代码为1 如何解决这个问题 import com.fasterxml.jackson.annotation.JsonProperty import com.fasterxml.jackson.databind.ObjectMapper import com.fasterxml.jackson.module.scala.DefaultScalaModule import com.fasterxml.jackson.m

我正在尝试运行此链接中的代码,但出现以下错误。不知道我做错了什么

进程已完成,退出代码为1

如何解决这个问题

import com.fasterxml.jackson.annotation.JsonProperty
import com.fasterxml.jackson.databind.ObjectMapper
import com.fasterxml.jackson.module.scala.DefaultScalaModule
import com.fasterxml.jackson.module.scala.experimental.ScalaObjectMapper

def jsonToType[T](json:String)(implicit m: Manifest[T]) :T = {
   val objectMapper = new ObjectMapper() with ScalaObjectMapper
   objectMapper.registerModule(DefaultScalaModule)
   objectMapper.readValue[T](json)
}

  case class Person(@JsonProperty("name") Name:String, @JsonProperty("age") Age:Int)

val personName = jsonToType[Person](jsonString).name
SBT


看起来您的映射无效。JSON对象具有FName和LName,而您的类具有名称和年龄作为对应的映射。您能验证映射是否正确吗

[Source: (String)"{"FName":"Mad", "LName": "Max"}"; line: 1,
column: 1]

请显示您的代码,以便有人可以帮助您。问题是什么?如果您尝试的代码与链接问题中的代码相同,那么您需要getter和setter,或者在相同的问题中添加注释。我使用了上一个答案中的代码。它说如果我使用@jsonProperty,那么它会为我创建getter和setter。是吗?@JsonProperty是标记注释,可用于将非静态方法定义为逻辑属性的setter或getter。或者还有@BeanProperty,顺便说一句,因为您使用的是ScalaObjectMapper,所以您可能不需要显式地使用getter/setter。您发布的示例代码应该使用或不使用@jsonproperty。那么,为什么它会抱怨无法反序列化local/anonymous类型的类pars$Person$3,因为版本不同,Bean可能会对其进行反序列化呢。我正在使用Java1.8、Scala2.12.6和2.9.5作为jackson版本这对你有帮助吗?
name := "prsr"

version := "0.1"

scalaVersion := "2.12.6"

libraryDependencies ++= Seq(
  "com.fasterxml.jackson.core" % "jackson-databind" % "2.9.5",
  "com.fasterxml.jackson.module" %% "jackson-module-scala" % "2.9.5"
)
[Source: (String)"{"FName":"Mad", "LName": "Max"}"; line: 1,
column: 1]