我想将对象转换为字符串表示形式,就像没有字段名
的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;
上面的对象我想转换成字符串为 {“Mickey Mouse”,24,false}
并且此对象的数组必须类似于
[
{"Mickey Mouse", 24, false}
,{"Robin Hood" , 24, false}
]
我正在寻找一种可以针对每个Java对象(POJO)不断应用的解决方案。 所以不希望覆盖每个对象或类似行上的解决方案的toString()方法
我更喜欢与jackson合作,因为我已准备好在Spring 3中将对象转换为JSON
我正在寻找一些可以帮助我实现这一目标的jackson ObjectMapper配置 如果没有,我可以创建自己的Object Mapper并在Spring View中使用它
感谢
答案 0 :(得分:0)
我不认为ObjectMapper可以灵活地执行此操作,因为您尝试生成的实际上并不是JSON。
如何使用反射获取字段值列表,然后将其序列化为Object数组?
类似的东西:
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));
这会给你
["Mickey Mouse",24,false]
有方括号而不是花括号。这够好吗?