Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我能';无法从JSON获取字段_Java_Spring_Resttemplate - Fatal编程技术网

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)的底层结构是什么。