Serialization 使用Jackson序列化程序将项目转换为自定义字符串格式

Serialization 使用Jackson序列化程序将项目转换为自定义字符串格式,serialization,jackson,Serialization,Jackson,我想将一个对象转换成一个字符串表示形式,它类似于没有字段名的JSON 例如,下面的类 public class Employee{ private String name; private int age; private boolean married; } Employee = new objEmp(); objEmp.Name = "Mickey Mouse"; objEmp.age = 24; objEmp.married = false; 我想将上面的对象转换为字符串

我想将一个对象转换成一个字符串表示形式,它类似于没有字段名的JSON

例如,下面的类

public class Employee{
  private String name;
  private int age;
  private boolean married;
}

Employee = new objEmp();
objEmp.Name = "Mickey Mouse";
objEmp.age = 24;
objEmp.married = false;
我想将上面的对象转换为字符串 {“米老鼠”,24,错}

这个对象的数组必须是

[
   {"Mickey Mouse", 24, false}
  ,{"Robin Hood"  , 24, false}
]
我正在寻找一种可以持续应用于每个java对象(POJO)的解决方案。 因此,不需要重写每个对象或类似行上的解决方案的toString()方法

我更喜欢使用jackson,因为我已经准备好在Spring3中使用它将对象转换为JSON

我正在寻找一些jackson ObjectMapper配置,可以帮助我实现这一点 如果没有,我可以创建自己的对象映射器,并在SpringView中使用它


谢谢

我不认为ObjectMapper具有这样做的灵活性,因为您试图生成的实际上不是JSON

使用反射获取字段值列表,然后将其序列化为对象数组,怎么样

比如:

List<Object> vals = new ArrayList<>();
for (Field field : Employee.class.getDeclaredFields()) {
    field.setAccessible(true);
    vals.add(field.get(emp));
}
ObjectMapper om = new ObjectMapper();
System.out.println(om.writeValueAsString(vals));

它有方括号而不是大括号。这够好吗?

谢谢你的回复。我只希望我的对象是花括号,但那个些对象的数组必须是方括号。不过,我可以即兴提出解决方案,但您能建议我如何配置Spring3以将其用作视图吗?我对Spring了解不多,但它说“通过使用Jackson提供的注释,可以根据需要定制JSON映射。当需要进一步控制时,对于需要为特定类型提供自定义JSON序列化程序/反序列化程序的情况,可以通过ObjectMapper属性注入自定义ObjectMapper。”因此,也许您应该滚动自己的自定义ObjectMapper子类并注入该子类。
["Mickey Mouse",24,false]