我有rest url,可以显示所有国家--http://api.geonames.org/countryInfojson?username=volodial。
RestTemplate restTemplate = new RestTemplate();
Country[] countries = restTemplate.getForObject("http://api.geonames.org/countryInfoJSON?username=volodiaL",Country[].class);
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of hello.Country[] out of START_OBJECT token
at [Source: sun.net.www.protocol.http.HttpURLConnection$HttpInputStream@1846149; line: 1, column: 1]
at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:164)
at com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:691)
at com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:685)
at com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer.handleNonArray(ObjectArrayDeserializer.java:222)
at com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer.deserialize(ObjectArrayDeserializer.java:133)
at com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer.deserialize(ObjectArrayDeserializer.java:18)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2993)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2158)
at org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.readJavaType(MappingJackson2HttpMessageConverter.java:225)
... 7 more
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@JsonIgnoreProperties(ignoreUnknown = true)
public class Country {
private String countryName;
private long geonameId;
public String getCountryName() {
return countryName;
}
public long getGeonameId() {
return geonameId;
}
@Override
public String toString() {
return countryName;
}
}
{
"geonames": [
{
"continent": "EU",
"capital": "Andorra la Vella",
"languages": "ca",
"geonameId": 3041565,
"south": 42.42849259876837,
"isoAlpha3": "AND",
"north": 42.65604389629997,
"fipsCode": "AN",
"population": "84000",
"east": 1.7865427778319827,
"isoNumeric": "020",
"areaInSqKm": "468.0",
"countryCode": "AD",
"west": 1.4071867141112762,
"countryName": "Andorra",
"continentName": "Europe",
"currencyCode": "EUR"
}
]
}
如何告诉resttemplate
将数组的每个元素转换为country
对象?
问题内容: 我有可以访问所有国家/地区的休息网址-http://api.geonames.org/countryInfoJSON ?username=volodiaL。 我从春季3开始使用RestTemplate将返回的json解析为java对象: 当我运行此代码时,出现异常: 最后是我的国家/地区课程: 问题是返回的json包含根元素“ geonames”,其中包含国家元素数组,如下所示: 如何
我试图读取这个json值并将其转换为java对象
发送帖子后,我收到400错误 响应为: 当我试图反序列化我的json数据时,我得到了一个异常。如何正确地反序列化JSON? 比尔·恩蒂蒂的文件是: BillController类中处理POST请求的控制器 最后,我的支付实体类:
编辑: 我希望响应到我的logcat中,并在Imageview中获取图像
我尝试声明为String或List,但没有成功。知道吗? }
调试在restTemplate.exchange()方法中断,并且已经检查参数是否为null。这是错误消息 为糟糕的英语感到抱歉