[英]How to read/write Object to JSON file with jackson in Java
public class Town implements Serializable{
private Person p;
private String hello;
private long number;
}
public class Person implements Serializable {
private String firstName;
private double legs;
private String lastName;
}
我正在嘗試使用
ObjectMapper mapper = new ObjectMapper();
ObjectWriter writer = mapper.writer(new DefaultPrettyPrinter());
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(file, true)));
writer.writeValue(out, townobj);
像這樣產生Json。
{
"p" : {
"firstName" : "John",
"amount" : 6860.0,
"lastName" : "Smith"
},
"hello" : "qwiejiowcqnio",
"number" : 1380.0
}
{
"p" : {
"firstName" : "Sam",
"amount" : 623460.0,
"lastName" : "Smith"
},
"hello" : "qwiej2342io",
"number" : 1330.0
}
當我嘗試使用
List<Town> myObjects;
myObjects = mapper.readValue(new File("test.json"), new TypeReference<List<Town>>(){});
我收到以下錯誤:
無法從 START_OBJECT 令牌反序列化 java.util.ArrayList 的實例
您文件中的 JSON 不是有效數組,無法將其反序列化為List<Town>
。 您需要將列表序列化為 JSON,以便將其反序列化回列表:
writer.writeValue(out, Arrays.asList(townobj));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.