java - 如何使 com.fasterxml.jackson 垂直打印数组?
问题描述
我在尝试在 Jackson 中垂直打印数组时遇到问题。我设法让它打印得很漂亮,但是有没有办法垂直打印数组?(见下面的结果部分,朋友安妮和比尔的名单)
我知道在这个例子中它很简单,但是在我的实际代码中,数组可以超过一百个,垂直显示会更好。
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
public class TestJackson{
public void testJackson() throws JsonProcessingException{
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setVisibility(PropertyAccessor.GETTER, Visibility.ANY);
objectMapper.writer().withDefaultPrettyPrinter();
objectMapper.enable(SerializationFeature.INDENT_OUTPUT);
MyClass myPojo = new MyClass();
String report = objectMapper.writeValueAsString(myPojo);
System.out.println(report);
}
}
我的波乔:
class MyClass{
private String name="John";
private List<String> friends = new LinkedList<String>();
private Address homeAddress = new Address("20", "Main St.");
private Address workAddress = new Address("11", "Corner St.");
public String getName(){
return name;
}
public List<String> getFriends(){
if (friends.size() == 0) {
friends.add("Anne");
friends.add("Bill");
}
return friends;
}
public Address getHomeAddress(){
return homeAddress;
}
public Address getWorkAddress(){
return workAddress;
}
}
class Address{
private String no;
private String street;
public Address(String no, String street){
this.no = no;
this.street = street;
}
public String getNo(){
return no;
}
public String getStreet(){
return street;
}
}
我的结果:
"name" : "John",
"friends" : [ "Anne", "Bill" ],
"homeAddress" : {
"no" : "20",
"street" : "Main St."
},
"workAddress" : {
"no" : "11",
"street" : "Corner St."
}
}
解决方案
推荐阅读
- intellij-idea - 如何在 Intellij Idea 上启动 openjfx 11 应用程序?
- javascript - Whatsapp 活动聊天列表项动画
- javascript - Google Places API 自动完成 - 如何在下拉列表中打印“无结果”
- python - 如何使用 pysftp 从 SFTP 下载文件?
- java - 从 JSON 响应格式化日期 - 只显示一月?
- python - OSX Caffe 编译失败,出现预期的表达式错误
- c# - 如何获得至少一些关于存储库许可证的数据?
- c - 如何在 main() 函数中添加不同的参数集?
- c# - '无法将当前 JSON 数组(例如 [1,2,3])反序列化为类型 'WindowsFormsApp1.Form1+AssgnData'
- node.js - 如何在 Node.js 中验证无效的 JSON 与无效的 JSON 架构