Asi*_*sif 4 java json object jackson uppercase
需要你的帮助将java对象转换为json.当前json结果显示小写字母的所有键,我需要它是大写.
ObjectMapper mapper = new ObjectMapper();
Writer strWriter = new StringWriter();
mapper.writeValue(strWriter, obj);
String jsonString= strWriter.toString();
Run Code Online (Sandbox Code Playgroud)
结果是
[{"flags":"1","name":"Peter","location":"London","startDate":"2012-01-06 00:00"}]
Run Code Online (Sandbox Code Playgroud)
但我想要这样的结果(所有关键键值应该是大写的):
[{"FLAGS":"YU","NAME":"Peter","LOCATION":"London","STARTDATE":"2012-01-06 00:00"}]
Run Code Online (Sandbox Code Playgroud)
并且也可以这样(大写的关键第一个字母):
[{"Flags":"1","Name":"Peter","Location":"London","StartDate":"2012-01-06 00:00"}]
Run Code Online (Sandbox Code Playgroud)
谁可以帮我这个事.
提前致谢.
KAR*_*ván 13
杰克逊有多种方法可以做到这一点.
您可以使用字段或getter方法上的@JsonProperty 注释来注释对象.
例:
@JsonProperty("Name")
public final String name;
@JsonProperty("Location")
public String getLocation() {
return location;
}
Run Code Online (Sandbox Code Playgroud)
@Override
public void serialize(final JsonGenerator jG, final SerializerProvider p)
throws IOException, JsonProcessingException
{
serializeWithType(jG, p, null);
}
@Override
public void serializeWithType(final JsonGenerator jG, final SerializerProvider p, final TypeSerializer typeSer)
throws IOException, JsonProcessingException
{
// here you can do your own serialization
}
Run Code Online (Sandbox Code Playgroud)