MismatchedInputException 错误解析 Json
MismatchedInputException error Parsing Json
在 spring 引导中,我在尝试解析此 json
时收到 MismatchedInputException 错误
[
{
"name": "abcd",
"number": "0.11258868"
},
{
"name": "try",
"number": "1.155866887"
},
{
"name": "test",
"number": "0.123444"
}
]
我的 class 是:
@JsonIgnoreProperties
public class Info {
private String name;
private double number;
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public Object getNumber() {
return number;
}
public void setNumber(double number)
{
this.number= number;
}
映射代码就是这样:
@GetMapping
public String setInfo()
{
var info= (List<Info>)m_restTemplate.getForObject(url, Info.class);
return "test";
}
我知道这是非常简单的代码,但我找不到解决方案。什么与 class 不匹配?
问题出在检索部分。您得到的是 Info
的列表,但您是在对 Spring RestTemplate
说它将得到一个 Info
。尝试以下操作:
@GetMapping
public String setInfo() {
var info = m_restTemplate.exchange(url, HttpMethod.GET, null,
new ParameterizedTypeReference<List<Info>>() {}).getBody();
return "test";
}
在 spring 引导中,我在尝试解析此 json
时收到 MismatchedInputException 错误[
{
"name": "abcd",
"number": "0.11258868"
},
{
"name": "try",
"number": "1.155866887"
},
{
"name": "test",
"number": "0.123444"
}
]
我的 class 是:
@JsonIgnoreProperties
public class Info {
private String name;
private double number;
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public Object getNumber() {
return number;
}
public void setNumber(double number)
{
this.number= number;
}
映射代码就是这样:
@GetMapping
public String setInfo()
{
var info= (List<Info>)m_restTemplate.getForObject(url, Info.class);
return "test";
}
我知道这是非常简单的代码,但我找不到解决方案。什么与 class 不匹配?
问题出在检索部分。您得到的是 Info
的列表,但您是在对 Spring RestTemplate
说它将得到一个 Info
。尝试以下操作:
@GetMapping
public String setInfo() {
var info = m_restTemplate.exchange(url, HttpMethod.GET, null,
new ParameterizedTypeReference<List<Info>>() {}).getBody();
return "test";
}