Java 将对象转换为json控制字段名称大写字母
对象: Rest Web服务:Java 将对象转换为json控制字段名称大写字母,java,json,rest,jersey,jax-rs,Java,Json,Rest,Jersey,Jax Rs,对象: Rest Web服务: @XmlRootElement public class AccountSyncResponse { private String Result; private String Value; public AccountSyncResponse() {} public String getResult() {return Result;} public v
@XmlRootElement
public class AccountSyncResponse
{
private String Result;
private String Value;
public AccountSyncResponse() {}
public String getResult() {return Result;}
public void setResult(String Result) {this.Result = Result;}
public String getValue() {return Value;}
public void setValue(String Value) {this.Value = Value;}
}
结果是{“结果”:“创建”,“值”:“123456”}
我需要字段名的第一个字母大写{“Result”:“Create”,“Value”:“123456”}
如何控制生成的json字符串中的字段名称?您可以使用如下所示:
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
公共类AccountSyncResponse{
@xmlement(name=“Result”)
私有字符串结果;
@xmlement(name=“Value”)
私有字符串值;
//默认构造函数、getter和setter
}
或者,您可以使用注释对getter进行注释(这样就不需要注释)
替代JAXB注释,您可能需要考虑杰克逊。这是一个流行的Java JSON解析器。然后您可以使用它(不过Jackson也可以使用JAXB注释)
对于Jackson,根据您的需要,您可以使用例如。如果OP希望将所有字段名称大写,则最好修改Jersey的默认名称映射行为,而不是注释所有字段。@jarnbjo我在回答中添加了更多详细信息来说明这一点;)@Cassio Mazzochi Molin在添加
@xmlement
时,结果json字符串中的数据以大写形式复制,不带大写形式<代码>{“结果”:“创建”、“值”:“123456”、“结果”:“创建”、“值”:“123456”}@asabd您可以遵循以下方法之一:1)注释getter而不是字段。2) 用@xmlacessortype(xmlacesstype.FIELD)
@Cassio Mazzochi-Molin注释类,注释getter而不是字段完成了这项工作。非常感谢。
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public AccountSyncResponse excute(AccountSyncRequest ASReq)
{
AccountSyncResponse ASRes = new AccountSyncResponse();
return ASRes;
}