Java实体类属性名别名映射(属性名为驼峰,映射别名为下划线)

场景概述

在项目的过程中,遇到与外部公司对接中,对方固定我方返回的json属性单词之间要以下划线分隔;而在Java中的变量命名规范中,非静态常量是不使用下划线分隔单词。
Java实体类属性名别名映射(属性名为驼峰,映射别名为下划线)_第1张图片

目前我找到两种解决方式:

  • 使用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;

Java实体类属性名别名映射(属性名为驼峰,映射别名为下划线)_第2张图片

  • 使用阿里的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

你可能感兴趣的:(Java实体类属性名别名映射(属性名为驼峰,映射别名为下划线))