为JSON创建临时Java对象

时间:2014-04-04 14:40:02

标签: java javascript json

我想要做的是动态创建一个临时对象,以便将其转换为JSON并将其发送回JSP页面以供JavaScript使用。仅供参考我正在使用Java Jackson库将Java对象转换为JSON。

此对象的JavaBean类看起来像这样。

public class MonthlyAnalysisBean {
    private Date monthlyProcessDate;
    private Double activeInventory;
    private Double inactiveInventory;
    private Double excessInventory;

    /* Set... Get.... Bla bla methods */
}

我需要一个在JSON中看起来像这样的对象。

{
    "date": "2014-04-04",
    "Active": 100.00,
    "Inactive": 10.23,
    "Excess": 2.99
}

基本上我只需要很好地重命名和格式化相同的字段。有没有办法在Java中执行此操作而不创建另一个JavaBean并创建新对象?

在JavaScript中创建一个新对象,发送JSON并以我们的快乐方式离开将是如此简单。

2 个答案:

答案 0 :(得分:0)

好吧,如果你不想&#34; 创建另一个Javabean &#34; Map<String, String>是一种选择。

你可以做到

Map<String, String> map = new HashMap<String, String>();
map.put("date", monthlyAnalysisBean.getMonthlyProcessDate());
...

或尝试使用@JsonProperty

实际使用杰克逊
@JsonProperty("date")
public Date getMonthlyProcessDate() { 
   return monthlyProcessDate; 
}

答案 1 :(得分:0)

我已经使用javax.xml.bind.annotation中的注释完成了这样的操作。我使用wink库将JAXB注释的对象编组/解组为JSON,但它主要用于REST Web服务。我猜你的杰克逊应该很好。

@XmlAttribute(name = "date")
private Date monthlyProcessDate;