我想要做的是动态创建一个临时对象,这样我就可以将它转换为JSON,并将其发送回JSP页面,供JavaScript使用。FYI我正在使用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并在我们愉快的路上离开是非常容易的。
发布于 2014-04-04 14:47:02
如果您不想“创建另一个Javabean”,Map<String, String>是一个选项。
你可以直接
Map<String, String> map = new HashMap<String, String>();
map.put("date", monthlyAnalysisBean.getMonthlyProcessDate());
...或者尝试使用@JsonProperty实际使用Jackson
@JsonProperty("date")
public Date getMonthlyProcessDate() {
return monthlyProcessDate;
}发布于 2014-04-04 14:59:16
我用javax.xml.bind.annotation的注解做过这样的事。我使用wink库将带有JAXB注释的对象封送/解组到JSON中,但它主要用于REST web服务。我想你的杰克逊应该会很好的。
@XmlAttribute(name = "date")
private Date monthlyProcessDate;https://stackoverflow.com/questions/22865815
复制相似问题