PropertyNamingStrategy.SnakeCase对Map进行json序列化时不生效希望提供支持或者通过其他设置方式达成此目的
vxbzzdmp1#
@nanpingwang ,应该不支持Map,只支持实体对象吧https://github.com/alibaba/fastjson/wiki/PropertyNamingStrategy_cn
tcbh2hod2#
但是有这种需求应用场景啊, 希望能支持或者提供别的设置方式来支持
ebdffaop3#
@nanpingwang 目前你可以自定义序列化方式来实现。
rekjcdws4#
使用NamingFilter,比如内置的PascalNameFilter
lzfw57am5#
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); } };
5条答案
按热度按时间vxbzzdmp1#
@nanpingwang ,应该不支持Map,只支持实体对象吧
https://github.com/alibaba/fastjson/wiki/PropertyNamingStrategy_cn
tcbh2hod2#
但是有这种需求应用场景啊, 希望能支持或者提供别的设置方式来支持
ebdffaop3#
@nanpingwang 目前你可以自定义序列化方式来实现。
rekjcdws4#
使用NamingFilter,比如内置的PascalNameFilter
lzfw57am5#