我的寧靜JSON服務的下一個問題。Marshal a java.util.Map <String,String>
import java.util.Map;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
/**
* @author Martin Burchard
*
*/
@XmlRootElement(name = "user")
@XmlAccessorType(XmlAccessType.FIELD)
public class User {
private String id;
private String nickname;
private String email;
private String password;
private Map<String, String> user_attributes;
}
目前該服務提供了以下JSON(縮進了更好的閱讀):
{
"user" : {
"id" : "9bdf40ea-6d25-4bc3-94ad-4a3d38d2c3ca",
"email" : "[email protected]",
"password" : "xXpd9Pl-1pFBFuX9E0hAYGSDTyJQPYkOtXGvRCrEtMM",
"user_attributes" : {
"entry" : [{
"key" : "num",
"value" : 123
}, {
"key" : "type",
"value" : "nix"
}
]
}
}
}
有趣認爲,內部的NUM 123是一個java.lang.String ...
我喜歡這個JSON:
{
"user" : {
"id" : "9bdf40ea-6d25-4bc3-94ad-4a3d38d2c3ca",
"email" : "[email protected]",
"password" : "xXpd9Pl-1pFBFuX9E0hAYGSDTyJQPYkOtXGvRCrEtMM",
"user_attributes" : {
"num" : "123",
"type" : "nix"
}
}
}
我將JSON提供者更改爲Jackson。 現在我的JSON看起來像我喜歡它...
你確定你需要一張地圖嗎?你不能有一個叫做用戶屬性的對象,並有一個用戶屬性列表? – 2012-04-20 16:12:01
我的附加屬性總是包含一個名稱和一個值,因爲它們存儲在數據庫中,它們總是字符串。我認爲一個簡單的Map就足夠了。我應該用名稱和值來使用List和Attribute Object嗎? –
Nabor
2012-04-20 16:15:39