2012-02-16 29 views
1

我想将对象转换成一个字符串表示这好比JSON而不字段名使用杰克逊串行转换Oject到自定义的字符串格式

例如下面的类

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对象(PO​​JO)应用。在类似的路线的每个对象或溶液的 所以首要toString()方法是不期望

我喜欢它,因为我所有准备使用它的对象转换为JSON在弹簧3

我与杰克逊做要寻找一些杰克逊ObjectMapper配置,可以帮助我实现这个 如果还是不行,我可以创建自己的对象映射在春望用它

感谢

回答

0

我不认为ObjectMapper有弹性,做到这一点,因为你正在尝试t o生成实际上不是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] 

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

+0

感谢您的回复。我只想用花括号括住我的物体,但这些物体必须放在方括号内。 然而,我可以即兴解决方案,但你能建议我如何配置Spring 3使用它作为视图 – Mrinmoy 2012-02-17 01:22:53

+0

我不太了解Spring,但[在文档](http://static.springsource。 org/spring/docs/3.0.x/spring-framework-reference/html/view.html#view-json-mapping)它说:“JSON映射可以根据需要通过使用Jackson提供的注释来定制。在需要为特定类型提供自定义JSON序列化器/反序列化器的情况下,可以通过ObjectMapper属性注入自定义ObjectMapper。“所以也许你应该推出自己的自定义ObjectMapper子类并注入它。 – 2012-02-17 01:57:20

相关问题