gpt4 book ai didi

java - 如何将json数组映射到java类

转载 作者:太空宇宙 更新时间:2023-11-04 11:23:06 24 4
gpt4 key购买 nike

我正在尝试将请求正文从 postman 映射到 Spring Boot 实体,

{
"college":"0",
"collegeName":"",
"email":"a.r@g.com",
"firstName":"Mike",
"gradEndYear":"2017",
"gradStartYear":"2014",
"lastName":"worrell",
"marks":[
{"sem1":60},
{"sem2":70},
{"sem3":80},
{"sem4":60},
{"sem5":60},
{"sem6":60},
{"sem7":70},
{"sem8":60}
]
}

问题是我尝试将标记数组映射到 map ,但出现以下错误

message": "JSON parse error: Can not deserialize instance of java.util.LinkedHashMap out of START_ARRAY token; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.util.LinkedHashMap out of START_ARRAY token\n at [Source: java.io.PushbackInputStream@2b05836e; line: 9, column: 9] (through reference chain: icms.external.springboot.candidateRegistration.model.CandidateRegistrationForm[\"marks\"])

Java 模型

@Component
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
public class CandidateRegistrationForm
{
private String firstName;
private String middleName;
private String lastName;
private String email;
private String college;
private String collegeName;
private String gradStartYear;
private String gradEndYear;

private Map<String, Integer> marks = new HashMap<>();

//getters and setters
}

最佳答案

要么更改 json,以便将其映射到 java map 数据结构,在这种情况下,json 将类似于“标记”:
{
“SEM1”:60,
“SEM2”:70,
}

或者使用数组列表代替 map 。

关于java - 如何将json数组映射到java类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44692992/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com