【发布时间】:2014-05-12 18:13:42
【问题描述】:
在解决了我的 java 代码中的错误并解决了它们之后,我终于进入了运行阶段,但是在运行它之后我得到了一个异常错误。 我正在尝试使用杰克逊库将 json 从天气 API 转换为 java 对象。 我有几个类用于设置和获取 java 对象,包括:City.java、Coord.java、List1.java、Temp.java、Weather.java。我有一个名为 usertest.java 的类,用于将对象映射为测试。
我的代码如下:
我的 getter 和 setter 示例:City.java
package weather.data;
//import java.util.List;
public class City{
private Coord coord;
private String country;
private Number id;
private String name;
private Number population;
...
//getters and setters
}
usertest.java
package weather.data;
import weather.data.City;
import weather.data.Coord;
import weather.data.list1;
import weather.data.Temp;
import weather.data.Weather;
import com.fasterxml.jackson.core.JsonParseException;
//import com.fasterxml.jackson.annotation.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonMappingException;
import java.io.File;
import java.net.URL;
import java.io.IOException;
public class usertest {
public static void main(String[] args) throws JsonParseException, JsonMappingException, IOException
{
URL jsonUri = new URL("https://gist.githubusercontent.com/anonymous/4b32c7ef1ceb5dd48bf5/raw/ef1987551faa3fb61473bb0e7aad70a228dc36d6/gistfile1.txt");
ObjectMapper mapper = new ObjectMapper();
City city = mapper.readValue(jsonUri, City.class);
System.out.println(city.getCoord());
}
}
运行代码后出现的错误: 线程“main”com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException 中的异常:无法识别的字段“cod”(weather.data.City 类),未标记为可忽略(5 个已知属性:、“coord”、“country”、 "id", "name", "population"])
任何帮助将不胜感激。
【问题讨论】:
-
你的城市类中没有名为
cod的字段 -
问题是我使用 jsongen 来生成我的 bean,它是错误地生成的。现在我完全改变了我的豆子,但我仍然面临错误。所以我认为我的 bean 做错了什么。
标签: java json exception jackson