我想把map转换成json,但是要用jackson来改变大小写。例如,我有一个map:
"test_first" -> 1,
"test_second" -> 2,
我想把它转换成json,但是要把下划线大小写改为小写CamelCase。我该怎么做呢?使用这个方法没有帮助:
// Map<String, String> fields;
var mapper = new ObjectMapper();
mapper.setPropertyNamingStrategy(PropertyNamingStrategy.LOWER_CAMEL_CASE);
// setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE) didn't help too
String json = mapper.writeValueAsString(fields);
2条答案
按热度按时间3hvapo4f1#
在Jackson中有
StringKeySerializer
,它可以实现在一些Map中改变键的呈现的功能(例如,使用GuavaCaseFormat
):然后,使用所需的格式序列化Map:
jhdbpxl92#
使用
@JsonProperty
注解。在属性变量或其getter上执行以下操作:显然,你也可以使用
@JsonGetter
和@JsonSetter
注解作为替代。