Java Jackson-Json到具有多个条目的POJO
我知道User.json文件是否Java Jackson-Json到具有多个条目的POJO,java,json,jackson,Java,Json,Jackson,我知道User.json文件是否 { "name" : { "first" : "Joe", "last" : "Sixpack" }, "gender" : "MALE", "verified" : false, "userImage" : "Rm9vYmFyIQ==" } 我可以这样构造单个用户对象: User user = mapper.readValue(new File("user.json"), User.class); 但是,如果User.json文件具有以下内
{
"name" : { "first" : "Joe", "last" : "Sixpack" },
"gender" : "MALE",
"verified" : false,
"userImage" : "Rm9vYmFyIQ=="
}
我可以这样构造单个用户对象:
User user = mapper.readValue(new File("user.json"), User.class);
但是,如果User.json文件具有以下内容,如何构造对象列表:
{
"name" : { "first" : "Joe", "last" : "Sixpack" },
"gender" : "MALE",
"verified" : false,
"userImage" : "Rm9vYmFyIQ=="
},
{
"name" : { "first" : "Jane", "last" : "Austen" },
"gender" : "FEMALE",
"verified" : false,
"userImage" : "DFREWEWE=="
}
? 多种方式:如果您有这些JSON数组,您可以执行以下操作:
User[] users = mapper.readValue(json, User[].class);
Iterator<User> it = mapper.readValues(json, User.class);
或者,如果只是一系列根级别值,则可以执行以下操作:
User[] users = mapper.readValue(json, User[].class);
Iterator<User> it = mapper.readValues(json, User.class);
Iterator it=mapper.readValues(json,User.class);
在问题代码中迭代值(添加到列表等)很明显,“json”是一个文件对象,包含json textCorrect——我没有指定类型,因为它可以来自多个源(甚至是json
byte[]
或String
)@ImtiazAhmad查看Jackson javadocs,了解更多可能的类型。我面临的问题正好相反。我想创建一个类似user.json的json文件。具有多个根级别值。但是当我运行mapper.writeValue()方法时,它会覆盖旧的值。有人能帮忙吗。@ShashankGarg是的:ObjectMapper.writer().WriteValue(dst)让你SequenceWriter
做你想做的事