场景概述
在项目的过程中,遇到与外部公司对接中,对方固定我方返回的json属性单词之间要以下划线分隔;而在Java中的变量命名规范中,非静态常量是不使用下划线分隔单词。
目前我找到两种解决方式:
- 使用jackson的@JsonProperty注解
参考stackoverflow问答:https://stackoverflow.com/questions/10519265/jackson-overcoming-underscores-in-favor-of-camel-case
/**
* 仓库id
*/
@JsonProperty("storage_id")
private int storageId;
/**
* 仓库名
*/
@JsonProperty("storage_name")
private String storageName;
- 使用阿里的fastjson
/**
* 仓库id
*/
@JSONField(name = "storage_id")
private int storageId;
/**
* 仓库名
*/
@JSONField(name = "storage_name")
private String storageName;
注意:最后要使用JSON.part进行转换一次
转载于:https://www.cnblogs.com/kevinlia0/p/11215274.html
声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。