2012-05-10 62 views
0

我想返回一個JSON的答案,看起來像這樣:返回JSON序列地圖<String,字符串>

{ "key": "value", 
    "Key2": "value2", 
    "params": {"paramKey1":"ParamValue1", 
      "paramKey2":"ParamValue2", 
      "paramKeyN":"ParamValueN" 
      } 
} 

,其中鍵,而params的值是從MAP<String,String> 即 - 的需要序列化的類應支持未知數量的參數&各自的值。

我想有在我的課:

@XmlRootElement 
public class myclass { 

private int key; 
private int key2; 

private Map<String,String> _params; 

@XmlElement 
public int getKey() { 
    return key; 
} 

@XmlElement 
public int getKey2() { 
    return key2; 
} 


@XmlElement 
public HashMap<String,String> getParams() { 
    return (HashMap<String,String>)_params; 
} 

} 

,但它不呈現PARAMS地圖,只:

{ "key": "value", 
    "Key2": "value2", 
    "params": null 
} 

我認爲我需要別的東西來註釋getParams但我不知道什麼...

+0

http://stackoverflow.com/questions/5556853/jersey-jackson-map-field-serialization –

+0

可能的重複我將不得不嘗試一下,但它似乎並不像該Q的OP實際使用他得到的答案和驗證它。他只是說他轉向gson--而沒有真正解釋這是如何幫助解決問題的。 – epeleg

+0

好吧,默認'jersey'使用'jackson'來序列化/反序列化字段和屬性。你可以使用gson來達到同樣的目的。 –

回答

0

嘗試將變量名稱_params更改爲params。這可能會導致JAXB命名約定失敗,因爲我記得並可能導致錯誤。

+0

感謝您的信息,我會必須仔細研究它,看看是否有幫助。不過,正如我上面所說,我現在確實找到了解決問題的辦法,可能需要一段時間,直到我重新討論這個問題。 – epeleg

相關問題