对象:
@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;}
}
Rest Web Service:
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public AccountSyncResponse excute(AccountSyncRequest ASReq)
{
AccountSyncResponse ASRes = new AccountSyncResponse();
return ASRes;
}
结果为{"result":"Create","value":"123456"}
我需要字段名称的第一个字母为大写{"Result":"Create","Value":"123456"}
如何在生成的json字符串中控制字段名称?
答案 0 :(得分:1)
您可以使用@XmlElement
,如下所示:
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class AccountSyncResponse {
@XmlElement(name = "Result")
private String result;
@XmlElement(name = "Value")
private String value;
// Default constructor, getters and setters
}
或者,您可以使用@XmlElement
注释getter(然后不需要@XmlAccessorType
注释)。
除JAXB注释外,您可能还想考虑杰克逊。它是can be used with Jersey的流行JSON Java解析器。然后您可以使用@JsonProperty
代替(但Jackson也可以使用JAXB注释)。
根据您的需要,杰克逊可以使用PropertyNamingStrategy
等PropertyNamingStrategy.UpperCamelCaseStrategy
。