2012-02-16 45 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

相關問題