Json中字段名与实体类属性不一致@SerializedName

探讨Gson在Java中解析JSON时遇到的字段名与实体类属性不一致问题,介绍如何使用@SerializedName注解来匹配多个反序列化名称,解决Gson不解析特定属性或需要重命名的问题。
[ { "服务类型" : "进件目标收集服务类型", "minSupportedVersion" : "3.3.0", "标题" : "当日推广员进件目标收集", "描述" : "仅推广组主任可订阅,订阅后按选择时间向组内推广人员推送(我的云任务中心)收集当日进件目标任务,反馈结果将在实时创件和进件整点推送页面展示。", "标签" : [ "任务收集", "每日定时", "直销/综拓", "推广主任" ], "创意贡献者" : [ "信用卡中心/小云" ] }, { "服务类型" : "重要事件提醒服务类型", "minSupportedVersion" : "3.3.2", "标题" : "推广员进件重要事件提醒", "描述" : "订阅后可接收到管辖范围内推广员在进件过程中重要事件的实时消息推送提醒,例如敏感企业进件、优质企业进件、长时间未出件等事件。", "标签" : [ "进件事件", "实时触发", "全渠道", "推广主任及以上管理者" ], "创意贡献者" : [ "信用卡中心/小云" ], "补充说明" : { "事件1" : "[敏感企业进件]【员编/姓名】|【组号】在【单位名称】受理进件,请确认推广行为是否符合管理要求。", "事件2" : "[优质企业进件]【员编/姓名】|【组号】正受理来自【单位名称】的客户进件,请关注优质企业深挖及转荐情况。", "事件3" : "【组号】姓名A、姓名B、姓名X...已x小时未出件,请您关注其状态或是否需要帮助。" } } ]这是我的string字符串,下边是我用来接收反序列化的对象实体 public class MasterConfig { /** * 最低支持版本 */ private String minSupportedVersion; /** * 任务id */ @SerializedName("服务类型") private String desc; /** * 标题 */ @SerializedName("标题") private String title; /** * 描述 */ @SerializedName("描述") private String description; /** * 标签 */ @SerializedName("标签") private List<String> tags; /** * 创意贡献者 */ @SerializedName("创意贡献者") private List<String> contributors; @SerializedName("补充说明") private Map<String, String> map; } 下边是反序列化方法,public static <T> T fromJson(String json, TypeReference<T> typeReference) { try { if (StringUtils.isBlank(json)) { return null; } return MAPPER.readValue(json, typeReference); } catch (JsonProcessingException e) { log.error(LogChain.text("jackson反序列化失败"), e); throw new RuntimeException(e); } }为什么type,desc等都是null
最新发布
01-05
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值