Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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 Jackson无法使用HAL元素反序列化JSON_Java_Json_Spring_Hal - Fatal编程技术网

Java Jackson无法使用HAL元素反序列化JSON

Java Jackson无法使用HAL元素反序列化JSON,java,json,spring,hal,Java,Json,Spring,Hal,我使用SpringDataREST创建简单的RESTAPI,返回带有HAL的JSON(默认情况下)。看起来是这样的: { "_embedded" : { "students" : [ { "studentNumber" : 1, "studentName" : "test", "studentSurname" : "test", "_links" : { "self" : { "href" : "http://localhost:8080/students/2

我使用SpringDataREST创建简单的RESTAPI,返回带有HAL的JSON(默认情况下)。看起来是这样的:

{
"_embedded" : {
"students" : [ {
  "studentNumber" : 1,
  "studentName" : "test",
  "studentSurname" : "test",
  "_links" : {
    "self" : {
      "href" : "http://localhost:8080/students/2"
    },
    "student" : {
      "href" : "http://localhost:8080/students/2"
    }
  } ]
},
"_links" : {
"self" : {
  "href" : "http://localhost:8080/students"
},
"profile" : {
  "href" : "http://localhost:8080/profile/students"
},
"search" : {
  "href" : "http://localhost:8080/students/search"
    }
  }
}
这是我的学生实体课:

@JsonIgnoreProperties(ignoreUnknown = true)
@Entity(name = "students")
public class Student {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

@Column(name = "student_number")
private Long studentNumber;

@Column(name = "student_name")
private String studentName;

@Column(name = "student_surname")
private String studentSurname;

//getters, setters
}
当我想使用Jackson反序列化它时,它给了我一个错误:无法反序列化pl.rasztabiga.springdatarest.entity.Student[]的实例,因为它超出了START\u对象标记


但是当我想手动反序列化它时,跳过“_embedded”和“students”部分,它工作正常(就像在普通JSON中一样,没有HAL)。是的,我正在ObjectMapper中注册Jackson2HalModule,但仍然给出了相同的错误。

看起来您的JSON是错误的。在以']'结束students数组之前,您缺少结束student对象的'}'。也许我复制错了,但它是由Spring Data Rest自动生成的好JSON。您能告诉我们您是如何进行反序列化的吗?希望了解更多关于此项的信息。。。