Java 将对象转换为json控制字段名称大写字母

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

对象:

Rest Web服务:

@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;    
    }