6
PropertyNamingStrategy.SnakeCase对Map进行json序列化时不生效 希望提供支持或者通过其他设置方式达成此目的
PropertyNamingStrategy.SnakeCase对Map进行json序列化时不生效 希望提供支持或者通过其他设置方式达成此目的
@nanpingwang ,应该不支持Map,只支持实体对象吧 https://github.com/alibaba/fastjson/wiki/PropertyNamingStrategy_cn
但是有这种需求应用场景啊, 希望能支持或者提供别的设置方式来支持
@nanpingwang 目前你可以自定义序列化方式来实现。
使用NamingFilter,比如内置的PascalNameFilter
FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter(){
@Override
protected void writeInternal(Object object, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException {
if (object instanceof ReturnData) {
// 先转为json字符串,在解析为jsonObject对象,有些微性能影响,但是为了能够将Map中的数据的key值也转为蛇形命名
object = JSON.toJSONString(object, new NameFilter() {
@Override
public String process(Object object, String name, Object value) {
return humpToLine(name);
}
});
object = JSON.parseObject(object.toString());
} else if (object instanceof Json) {
object = handleSwaggerWebJson(object);
}
super.writeInternal(object, outputMessage);
}
};
同问好的实现方式