使用特定大小写将FasterXML对象转换为JSON

使用特定大小写将FasterXML对象转换为JSON,json,fasterxml,Json,Fasterxml,我正在尝试使用面向SOAP服务的RESTWeb服务。为了使其正常工作,我必须将JSON消息中XML标记的正确大小写发送给REST服务 以下是他们想要的: {"mappingSSNValidation":{"Group":{"InSSN":"123456789"}}} 以下是我能够创造的: {"mappingSSNValidation":{"group":{"inSSN":"123456789"}}} 类别定义: public class Group { protected Strin

我正在尝试使用面向SOAP服务的RESTWeb服务。为了使其正常工作,我必须将JSON消息中XML标记的正确大小写发送给REST服务

以下是他们想要的:

{"mappingSSNValidation":{"Group":{"InSSN":"123456789"}}}
以下是我能够创造的:

{"mappingSSNValidation":{"group":{"inSSN":"123456789"}}}
类别定义:

public class Group {
    protected String InSSN = null;
    //Public getters and setters
}
public class MappingSSNValidation {
    protected Group group = new Group();
    //Public getters and setters.
}
public class MyRequest {
    protected MappingSSNValidation mappingSSNValidation = new MappingSSNValidation();
    //Public getters and setters.
}
MyRequest request = new MyRequest();
request.getMappingSSNValidation().getGroup().setInSSN("123456789");
ObjectMapper mapper = new ObjectMapper();
mapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true);
mapper.writeValueAsString(request);
所以我的问题是:如何将对象名作为包装而不是变量名?但这只能发生在组名上。对于组中的变量,我希望使用变量名


我想有一个注释,我可以使用它,但我找不到一个有效的。我在Group类上尝试了@JsonRootName,但没有成功。

通过使用变量定义上面的@JsonProperty,您可以实现这一点

public class MappingSSNValidation {
    @JsonProperty("Group")
    protected Group group = new Group();
    //Public getters and setters.
}