Java 我能';无法从JSON获取字段
我有一个方法如下所示:Java 我能';无法从JSON获取字段,java,spring,resttemplate,Java,Spring,Resttemplate,我有一个方法如下所示: @RequestMapping(value=“/weather”) public void printWeather()引发JsonProcessingException{ 字符串url=mineApiURLwithKey; String json=restTemplate.getForObject(url,String.class); ObjectMapper mapper=新的ObjectMapper(); 字符串temperature=mapper.readTree
@RequestMapping(value=“/weather”)
public void printWeather()引发JsonProcessingException{
字符串url=mineApiURLwithKey;
String json=restTemplate.getForObject(url,String.class);
ObjectMapper mapper=新的ObjectMapper();
字符串temperature=mapper.readTree(json.get(“日落”).asText();
}
JSON看起来像:
{
“合作社”:{
“lon”:19.7497,
“lat”:53.5043
},
“天气”:[
{
“id”:500,
“main”:“Rain”,
“说明”:“小雨”,
“图标”:“10n”
}
],
“基站”:“基站”,
“主要”:{
“温度”:280.67,
“感觉像”:279.66,
“最低温度”:279.82,
“最高温度”:281.48,
“压力”:1010,
“湿度”:72
},
“能见度”:10000,
“风”:{
“速度”:1.79,
“度数”:325,
“阵风”:3.13
},
“雨”:{
“1h”:0.42
},
“云”:{
“全部”:72
},
“dt”:1619039826,
“系统”:{
“类型”:3,
“id”:2007860,
“国家”:“PL”,
《日出》:1618975636,
“日落”:1619027504
},
“时区”:7200,
“id”:3093028,
“名称”:“卢巴瓦”,
“cod”:200
}
但我得到了一个例外:
java.lang.NullPointerException:无法调用
“com.fasterxml.jackson.databind.JsonNode.asText()”因为返回
“com.fasterxml.jackson.databind.JsonNode.get(字符串)”的值为null
根据你的json,你必须先通过“sys”。“日落”嵌套在其中。如何做到这一点?它是一个树,因此可能类似于mapper.readTree(json).get(“sys”).get(“日落”).asText();我没有检查。调试代码时,您将看到mapper.readTree(json)的底层结构是什么。