我试图在spring Boot中将在JSON中得到的响应存储在数据库中。但是当它显示JSON解析错误
时
这是我的JSON响应
[
{
id: 1,
name: "Bilbo Baggins",
location: "india",
email: "jba2hba.com",
dateOfBirth: "2020-12-21T13:13:38.000+00:00"
},
{
id: 2,
name: "Frodo Baggins",
location: "bhutan",
email: "jhb@hbh.com",
dateOfBirth: "2020-12-21T13:13:38.000+00:00"
}
]
@Entity
public class Employee {
private @Id @GeneratedValue( strategy = GenerationType.AUTO ) Long id;
private String name;
private String location;
private String email;
private Date dateOfBirth;
public Employee() {
}
public Employee(String name, String location, String email, Date date) {
this.name = name;
this.location = location;
this.email = email;
this.dateOfBirth = date;
}
//getters and setters
我的getEmployees()方法
public void getEmployees() {
RestTemplate restTemplate = new RestTemplate();
Employee result = restTemplate.getForObject(Constants.URI, Employee.class);
System.out.println(result);
}
这是我得到的错误
com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `com.nagarro.hrLogin.entity.Employee` out of START_ARRAY token
at [Source: (PushbackInputStream); line: 1, column: 1]
at com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59) ~[jackson-databind-2.11.3.jar:2.11.3]
at com.fasterxml.jackson.databind.DeserializationContext.reportInputMismatch(DeserializationContext.java:1468) ~[jackson-databind-2.11.3.jar:2.11.3]
at com.fasterxml.jackson.databind.DeserializationContext.handleUnexpectedToken(DeserializationContext.java:1242) ~[jackson-databind-2.11.3.jar:2.11.3]
at com.fasterxml.jackson.databind.DeserializationContext.handleUnexpectedToken(DeserializationContext.java:1190) ~[jackson-databind-2.11.3.jar:2.11.3]
at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeFromArray(BeanDeserializer.java:604) ~[jackson-databind-2.11.3.jar:2.11.3]
//
我想不出是什么造成了这个错误,如果有人能给我一些建议,那将会很有帮助
您只需尝试将列表反序列化为对象。
您可以按以下方式通过ParameterizedTypeReference:
ResponseEntity<List<Employee>> response = this.restTemplate.exchange("URL", HttpMethod.GET,null,new ParameterizedTypeReference<List<Employee>>(){});
另一方面,我认为外化实体本身是一个反模式,试着看看DTO设计模式。
第二种情况:您必须将一个employee对象发送到两个应用程序,其中一个只请求名称,另一个只请求名字,在这种情况下,您将有一个或多个输出DTO with mapper(如示例mapstruct或dozer)用于向请求应用程序输出。
我试图将一个JSON发送给一个REST控制器,它是用Spring编写的,不管我做了什么尝试,Jackson抛出了一个异常: 这是JSON: 有什么建议吗?
问题内容: 我想解析JavaScript中的JSON字符串。响应就像 我怎样才能获得的值,并从这个? 问题答案: 在JavaScript中解析JSON的标准方法是 JSON.parse() 该JSONAPI是在ES5(2011)中引入的,此后按市场份额和Node.js在超过99%的浏览器中已实现。它的用法很简单: 唯一无法使用的时间是你是否在为旧版浏览器编程,例如IE 7(2006),IE 6(2
我有一个简单的springboot程序,它接受json并打印出来。主要目的是使用json验证程序包,但当前的上下文是基本的请求解析。问题是,当我试图将输入请求映射到一个类实体时,它给出了以下错误:“org.springframework.http.converter.httpMessageEndableException”,。 > 控制器(Hello.java): Java类实体: 公共类Demo
问题内容: 当我在Kibana中看到结果时,我发现JSON中没有字段,而且,该字段仅包含。 是否可以解析json中的字段并将其显示在Kibana中?我有以下配置: 以及以下JSON文件: 问题答案: 是。您需要在配置中添加一个过滤器,如下所示。 在这里的文档中对此进行了很好的描述 编辑 json编解码器似乎不喜欢传入数组。单个元素与此配置一起工作: 输入: Logstash结果: } 现在有了一个
当应用程序在AWS Elasticbeanstrok上运行时,有人知道如何从资源文件夹中读取文件吗? 请参阅下面的代码: 这是错误消息: JAVA木卫一。FileNotFoundException:类路径资源[application.properties]无法解析为绝对文件路径,因为它不位于文件系统:jar:file:/var/app/current/application中。罐子/BOOT-IN
无法解析类型java.lang.Object。它从必需的.class文件中间接引用