我有一个简单的球衣 Web 服务,我想使用/生成包含地图字段的对象,例如
@XmlElement
private Map<String,String> properties;
如果这个字符串进入网络服务,
{ properties: { key1: val1, key2: val2 )}
属性字段被反序列化为 null,没有错误。相同的 JSON 进出 GSON 没有问题,短期内我通过让 jersey 消耗生成字符串并使用 GSON 序列化/反序列化 JSON 解决了这个问题。
有任何想法吗?
一种选择是使用带注释的类。例如,用户可能由以下数据表示。
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "user")
public class User {
private int uid;
public int user_id;
public String user_name;
public String email;
public URI image_url;
public List<User> friends;
public boolean admin;
public User() {
...
}
public User(final int userid) {
// Find user by id
}
}
如果您像下面的代码一样返回 User 对象,那么 jaxb 会自动将 List 序列化为 JSON 列表等......
@GET
@Path("/{userid}")
@Produces("application/json", "application/xml")
public User showUser(@PathParam("userid") final int userid) {
return new User(userid);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)