我想要做的是动态创建一个临时对象,以便将其转换为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并以我们的快乐方式离开将是如此简单。
答案 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;