所以我有这个JSON文件
{
"results":[
"result":{},
"result":{}
]
}
我希望将其反序列化为包含结果对象数组的java对象。
public class Foo(){
@JsonProperty("results")
private Result[] results;
public void setResults(Result[] results){
this.results = results;
}
public Result[] getResults(){
return this.results;
}
}
public class JsonToObject(){
ObjectMapper mp = new ObjectMapper();
public void createObject(String jsonFile){
Foo bar = mp.readValue(jsonFile, Foo.Class)
}
}
我的问题是我一直在反序列化问题,因为我没有定义“结果”。
解决这个问题的一种方法是将result
作为Result中的类变量,但是这样做似乎很愚蠢,而且还可能导致重新序列化问题。
如何转换JSON,以便我的类包含结果数组?
答案 0 :(得分:0)
您的问题程序错误。您的代码有很多问题。请使用以下示例:
public class Foo {
@JsonProperty("results")
private Result[] results;
public Foo() {
}
public Result[] getResults() {
return results;
}
public void setResults(Result[] results) {
this.results = results;
}
}
public class Result {
private String name;
public Result() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public static void main(String[] args) throws IOException {
ObjectMapper mp = new ObjectMapper();
String content = "{\"results\":[{\"name\":\"apple\"},{\"name\":\"lemon\"}]}";
Foo bar = mp.readValue(content, Foo.class);
}