宾语:
@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;}
}
其余Web服务:
@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字符串中的字段名称?
最佳答案
您可以使用@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
注释吸气剂(然后不需要@XmlAccessorType
注释)。除了JAXB注释,您可能还需要考虑Jackson。这是can be used with Jersey流行的Java JSON解析器。然后,您可以改用
@JsonProperty
(但是Jackson也可以使用JAXB批注)。使用Jackson,根据您的需要,您可以使用
PropertyNamingStrategy
,例如PropertyNamingStrategy.UpperCamelCaseStrategy
。