最近项目中用到了spring boot然后,在接口返回的json串中有一些字段首字母是需要大写的。在听取同事的说明之后用@JSONField注解在属性上面可以解决。

但是,无效….

OK,然后了解到事实当我们将返回类型设置为MediaType.APPLICATION_JSON之后,spring boot 会到利用RequestMappingHandlerAdapter去设置messageConverters,其实这就是springmvc里面的消息转换,而且,springboot本来就包含springmvc进去了。

具体转换过程源代码请看这篇博文

追踪到源码我们发现,他序列化json的时候,是使用的jackson的。

也就是说@JSONField不生效不是很正常的吗?

解决办法
  1. 用jackson支持的改字段名称方法

    //使用JsonProperty注解
    @JsonProperty(value = "ErrorCode")
    private String errorCode;
  2. 完美解决问题

GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e 3 个月前
8c391e04 6 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐