2014-04-04 76 views
0

我想要做的是即時創建臨時對象,以便將其轉換爲JSON並將其發送回JSP頁面以供JavaScript使用。僅供參考我正在使用Java Jackson庫將Java對象轉換爲JSON。爲JSON創建臨時Java對象

此對象的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

看看http://jackson.codehaus.org/ – sp00m

+0

^他說他已經在使用它了。 (或者你想讓他在那裏讀些什麼?) – Incognito

+0

jackson,jsonlib,gson等......都會幫助你做到這一點。其他方法,如果你不期望複雜的類型,就是通過反射手工翻閱一個快速的類,並創建字符串。 – haylem

回答

0

那麼如果你不想「創建另一個JavabeanMap<String, String>是一個選項。

你可以只是做

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

或嘗試使用@JsonProperty

@JsonProperty("date") 
public Date getMonthlyProcessDate() { 
    return monthlyProcessDate; 
} 
+0

謝謝我現在要去看看這兩種方法。 – RachelC

+1

我去了HashMap,因爲我必須格式化值,因爲我正在修改現有的系統,我不想編輯其他程序員對象。 – RachelC

0

我已經做了某事像,與從javax.xml.bind.annotation註釋實際使用傑克遜。我使用wink庫將JAXB註釋的對象編組/解組爲JSON,但它主要針對REST Web服務。我想你的傑克遜應該很好。

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