我的Android进阶之旅------>解决Jackson、Gson解析Json数据时,Json数据中的Key为Java关键字时解析为null的问题

时间:2023-06-07 17:20:32

1、问题描述

首先,需要解析的Json数据类似于下面的格式,但是包含了Java关键字abstract:

我的Android进阶之旅------>解决Jackson、Gson解析Json数据时,Json数据中的Key为Java关键字时解析为null的问题

{
ret: 0,
msg: "normal return.",
news:
[
{
id: "NEW2016062800875700",
from: "腾讯新闻客户端",
qqnews_download_url: "http://inews.qq.com/m?refer=openapi_for_xiaotiancai",
articletype: "1",
title: "杭州城管组建“G20”女子巡逻队",
src: "腾讯图片",
thumbnails_qqnews:
{
qqnews_thu_big: "http://inews.gtimg.com/newsapp_ls/0/376455614_640330/0",
qqnews_thu: "http://inews.gtimg.com/newsapp_lsa/0/376319722_685160/0"
},
timestamp: 1467077810,
url: "http://view.inews.qq.com/a/NEW2016062800875705?refer=openapi_for_xiaotiancai",
abstract: "杭州城管组建G20女子巡逻队 装扮炫酷",
content:
[
{
type: 2,
value: "http://inews.gtimg.com/newsapp_match/0/376311464/0"
},
{
type: 1,
value: "6月27日,清一色的装备、整齐的步伐,统一墨镜着装,杭州西湖景区行政执法局G20女子巡逻队在西湖白堤断桥景区巡逻。连国庆/东方IC "
},
{
type: 2,
value: "http://inews.gtimg.com/newsapp_match/0/376311465/0"
},
{
type: 1,
value: "据了解,这批抢眼的女队员是西湖景区执法局的G20女子巡逻队,是为服务G20而特别成立的应急管理服务队。"
}
]
},
{
id: "NEW2016062705940304",
from: "腾讯新闻客户端",
qqnews_download_url: "http://inews.qq.com/m?refer=openapi_for_xiaotiancai",
articletype: "0",
title: "*主持深改组会议 强调让失信者寸步难行",
src: "央视网",
thumbnails_qqnews:
{
qqnews_thu_big: "http://inews.gtimg.com/newsapp_ls/0/376333677_640330/0",
qqnews_thu: "http://inews.gtimg.com/newsapp_ls/0/376333677_150120/0"
},
timestamp: 1467079048,
url: "http://view.inews.qq.com/a/NEW2016062705940304?refer=openapi_for_xiaotiancai",
abstract: "*6月27日下午主持召开*全面深化改革领导小组第二十五次会议并发表重要讲话。他强调,地方是推进改革的重要力量。",
content:
[
{
type: 1,
value: "央视网消息(新闻联播):**总书记、国家主席、*军委主席、*全面深化改革领导小组组长*6月27日下午主持召开*全面深化改革领导小组第二十五次会议并发表重要讲话。他强调,地方是推进改革的重要力量。各级党委要坚决贯彻落实党*改革部署,牢固树立政治意识、大局意识、核心意识、看齐意识,增强改革定力,聚集改革资源,激发创新活力,抓实目标任务、精准落地、探索创新、跟踪问效、机制保障,更加富有成效地抓好改革工作。 **政治局常委、*全面深化改革领导小组副组长刘云山、张高丽出席会议。 会议审议通过了《关于完善人大代表联系人民群众制度的实施意见》、《关于推进以审判为中心的刑事诉讼制度改革的意见》、《关于设立统一规范的国家生态文明试验区的意见》、《国家生态文明试验区(福建)实施方案》、《关于加快推进失信被执行人信用监督、警示和惩戒机制建设的意见》、《关于海南省域“多规合一”改革试点情况的报告》、《2015年各地全面深化改革推进情况和工作建议综合报告》。 会议指出,我国人民代表大会制度之所以具有强大生命力,关键在于深深植根于人民之中。完善人大代表联系人民群众制度,目的是建立健全有效管用的制度机制,让人大代表更好更紧密地联系人民群众。要推进代表联系人民群众的工作平台和网络平台建设,明确联系的工作内容,完善联系的方式方法,建立健全代表反映人民群众意见和要求的处理反馈机制。各级人大代表履行职责、联系群众,要积极宣传党的路线方针政策和党*重大决策部署,推动解决人民群众关心的突出问题。各级国家机关都要高度重视、认真处理代表反映的人民群众意见和诉求,研究改进工作,切实解决问题。 会议强调,推进以审判为中心的诉讼制度改革,要立足我国国情和司法实际,发挥好审判特别是庭审在查明事实、认定证据、保护诉权、公正裁判中的重要作用,促使办案人员树立办案必须经得起法律检验的理念,通过法庭审判的程序公正实现案件裁判的实体公正,防范冤假错案发生,促进司法公正。要着眼于解决影响刑事司法公正的突出问题,把证据裁判要求贯彻到刑事诉讼各环节,健全非法证据排除制度,严格落实证人、鉴定人出庭作证,完善刑事法律援助,推进案件繁简分流,建立更加符合司法规律的刑事诉讼制度。 会议指出,设立统一规范的国家生态文明试验区,目的是开展生态文明*改革综合试验,为完善生态文明制度体系探索路径、积累经验。要落实党*关于生态文明*改革的总体部署要求,就推进国土空间开发保护制度、空间规划编制、生态产品市场化改革、建立多元化的生态保护补偿机制、健全环境治理体系、建立健全自然资源资产产权制度、开展绿色发展绩效评价考核等重大改革任务开展试验,重点解决社会关注度高、涉及人民群众切身利益的资源环境问题。福建等试验区要突出改革创新,聚焦重点难点问题,在*机制创新上下功夫,为其他地区探索改革的路子。 会议强调,加快推进对失信被执行人信用监督、警示和惩戒建设,有利于促使被执行人自觉履行生效法律文书决定的义务,提升司法公信力,推进社会诚信体系建设。要建立健全跨部门协同监管和联合惩戒机制,明确限制项目内容,加强信息公开与共享,提高执行查控能力建设,完善失信被执行人名单制度,完善党政机关支持人民法院执行工作制度,构建“一处失信、处处受限”的信用惩戒大格局,让失信者寸步难行。 会议指出,*授权海南开展省域“多规合一”改革试点一年来,海南结合实际,积极推进改革探索,梳理化解规划矛盾,统筹主体功能区、生态保护红线、城镇体系、土地利用、林地保护利用、海洋功能区规划,在推动形成全省统一空间规划体系上迈出了步子、探索了经验。深入推进这项改革,要着重解决好*机制问题,处理好改革探索和依法推进的关系,一张蓝图干到底。*有关部门要加强统筹指导。 会议强调,改革是一场革命,改的是*机制,动的是既得利益,不真刀真枪干是不行的。地方各级党委要多在攻坚克难、解决问题上下功夫。目标任务要抓实,围绕*机制创新,自觉运用改革思维和改革办法推进各项工作,区分轻重缓急,优先推进、重点保障党*明确的重要改革任务、地方破解发展难题迫切需要的改革任务、同群众切身利益紧密相关的改革任务。精准落地要抓实,对症下药,制定实施方案直奔问题去,充分调研论证,突出针对性和可操作性。要准确把握改革内在联系,提高改革系统集成能力。探索创新要抓实,继续鼓励基层创新,形成改革者上、不改革者下的用人导向,及时总结推广地方的创新做法。跟踪问效要抓实,抓好改革督察,开展评估工作,做到基本情况清楚、问题分析清楚、工作方向清楚。机制保障要抓实,完善督办协调、督察落实、考评激励、责任追究等工作机制,重视改革队伍建设,搞好业务培训,加强业务指导,提高推进改革能力和水平。 *和国家有关部门要加强对地方改革创新的支持,对地方改革出现的问题要加强研判,制定专案,有针对性地加以解决。要加大改革宣传力度,在全社会形成良好改革预期,凝聚起推动改革强大气场。 *全面深化改革领导小组成员出席,*和国家有关部门以及有关地方负责同志列席会议。"
}
]
},
{
id: "FIN201606280079850H",
from: "腾讯新闻客户端",
qqnews_download_url: "http://inews.qq.com/m?refer=openapi_for_xiaotiancai",
articletype: "0",
title: "刘姝威:罢免全部董事 万科会彻底垮掉",
src: "澎湃",
thumbnails_qqnews:
{
qqnews_thu_big: "http://inews.gtimg.com/newsapp_ls/0/376469932_640330/0",
qqnews_thu: "http://inews.gtimg.com/newsapp_ls/0/376469932_150120/0"
},
timestamp: 1467078527,
url: "http://view.inews.qq.com/a/FIN201606280079850H?refer=openapi_for_xiaotiancai",
abstract: "虽然万科股权之争还没有落幕,但是结局似乎已经比较清晰明白,因为大多数人希望这一事件的结局能够促进中国股市的法制化建设和实业发展,而不是导致中国股市陷入混乱、失控和衰败的深渊。万科股权之争有三个主角:万科管理层,前第一大股东华润和现任大股东宝能。一、保证上市公司管理团队的稳定性万科的股权分散,公司管",
content:
[
{
type: 1,
value: "虽然万科股权之争还没有落幕,但是结局似乎已经比较清晰明白,因为大多数人希望这一事件的结局能够促进中国股市的法制化建设和实业发展,而不是导致中国股市陷入混乱、失控和衰败的深渊。 万科股权之争有三个主角:万科管理层,前第一大股东华润和现任大股东宝能。 一、保证上市公司管理团队的稳定性 万科的股权分散,公司管理层没有公司控股权,类似情况在中国上市公司中不是特例,例如格力电器也是这样。万科能够发展成为世界最大的房地产企业,主要功绩应该归于王石郁亮管理团队,这是不争的事实。与万科一样,格力电器能够称雄世界空调行业,主要功绩应该归于董明珠管理团队。而董明珠管理团队与王石郁亮管理团队一样,没有公司控股权。 如果按照宝能提议,罢免万科全部董事,那么,万科会在一年内彻底垮掉,除了宝能持有的约四分之一的股份外,持有万科四分之三股份的投资者将遭遇灭顶之灾。如果宝能的提议能够成功,那么,格力电器马上会遭遇同样的命运。 上市公司股权分散和管理层没有公司控股权,这与当时的历史背景有关。为了避免再次发生万科股权之争的事件,弥补由于历史原因形成的漏洞,我建议上市公司的股东大会能够形成决议或制定制度,保证股东对管理层的监督,同时保证管理层的利益和稳定性。 二、央企应该保证国有资产的保值升值 万科的股份是华润持有的优质资产,万科的发展保证了这部分国有资产的保值升值。 当万宝股权之争公开化的时候,面对争夺第一大股东地位的竞争对手,华润没有采取有效的措施和作为。但是,令所有人大惊的是,6月23日晚上在宝能发表声明后不到十分钟华润发表内容相同的声明,谴责万科“内部人控制”。 华润与争夺优质国有资产的竞争对手合作。这是万宝股权之争公开化后,华润不作为的原因吗?华润是准备拱手相让优质国有资产还是与宝能有私下承诺?在万科股权之争中,华润的表现不仅不利于国有资产保值增值,而且可能有损于其他投资者的利益。 国资委应该规定,当发生类似万科股权之争的事件时,国有企业应对的基本要求。国资委也应该调查和处理在万科股权之争过程中,华润相关责任人损害国有资产的行为。 三、金融监管部门必须公开宝能收购万科股份的资金来源 只要稍微懂点儿专业知识的人都明白:宝能要求罢免万科全体董事的后果是什么?如此险资举牌上市公司,对股票市场的稳定发展是具有非常重要的支持作用还是具有毁灭性的破坏作用? 在万宝股权之争公开化后,半年前,媒体和舆论已经广泛质疑宝能收购万科股份的资金来源。金融监管层必须明确表态:宝能收购万科股份的资金来源是否合法?如果金融监管部门无法做出决定,那么,金融监管部门必须公开宝能收购万科股份的资金来源,由投资者判断这种做法是否合法?因为宝能收购万科股份的资金来源模式具有示范性,一旦确认宝能收购万科股份的资金来源模式合法,很多机构会效仿。那样的话,中国股市将陷入混乱,失控和衰败。所以,在宝能收购万科股份的资金来源是否合法的问题上,金融监管部门不能模棱两可,也没有回避回答这个问题的余地。 (澎湃) 【百佳董秘】今夏最火热董秘评选开锣!为你持有的上市公司投一票!扫码关注:腾讯证券(qqzixuangu)。"
}
]
}
]
}

上面的Json数据中,包含了下面这句Json数据key值为Java的关键字abstract

abstract: "杭州城管组建G20女子巡逻队 装扮炫酷",

自己写POJO类时,会报一下错误提示

我的Android进阶之旅------>解决Jackson、Gson解析Json数据时,Json数据中的Key为Java关键字时解析为null的问题

这是因为abstract是Java的关键字,不能作为变量名。

使用Android Studio的GsonFormat插件,自动生成的POJO类如下所示:

我的Android进阶之旅------>解决Jackson、Gson解析Json数据时,Json数据中的Key为Java关键字时解析为null的问题

我的Android进阶之旅------>解决Jackson、Gson解析Json数据时,Json数据中的Key为Java关键字时解析为null的问题

我的Android进阶之旅------>解决Jackson、Gson解析Json数据时,Json数据中的Key为Java关键字时解析为null的问题

package com.xtc.qqnews.net.bean;

import com.google.gson.annotations.SerializedName;

import java.util.List;

/**
* Created by Administrator on 2016/6/29.
*/
public class Demo { /**
* ret : 0
* msg : normal return.
* news : [{"id":"NEW2016062800875700","from":"腾讯新闻客户端","qqnews_download_url":"http://inews.qq.com/m?refer=openapi_for_xiaotiancai","articletype":"1","title":"杭州城管组建\u201cG20\u201d女子巡逻队","src":"腾讯图片","thumbnails_qqnews":{"qqnews_thu_big":"http://inews.gtimg.com/newsapp_ls/0/376455614_640330/0","qqnews_thu":"http://inews.gtimg.com/newsapp_lsa/0/376319722_685160/0"},"timestamp":1467077810,"url":"http://view.inews.qq.com/a/NEW2016062800875705?refer=openapi_for_xiaotiancai","abstract":"杭州城管组建G20女子巡逻队 装扮炫酷","content":[{"type":2,"value":"http://inews.gtimg.com/newsapp_match/0/376311464/0"},{"type":1,"value":"6月27日,清一色的装备、整齐的步伐,统一墨镜着装,杭州西湖景区行政执法局G20女子巡逻队在西湖白堤断桥景区巡逻。连国庆/东方IC "},{"type":2,"value":"http://inews.gtimg.com/newsapp_match/0/376311465/0"},{"type":1,"value":"据了解,这批抢眼的女队员是西湖景区执法局的G20女子巡逻队,是为服务G20而特别成立的应急管理服务队。"}]},{"id":"NEW2016062705940304","from":"腾讯新闻客户端","qqnews_download_url":"http://inews.qq.com/m?refer=openapi_for_xiaotiancai","articletype":"0","title":"*主持深改组会议 强调让失信者寸步难行","src":"央视网","thumbnails_qqnews":{"qqnews_thu_big":"http://inews.gtimg.com/newsapp_ls/0/376333677_640330/0","qqnews_thu":"http://inews.gtimg.com/newsapp_ls/0/376333677_150120/0"},"timestamp":1467079048,"url":"http://view.inews.qq.com/a/NEW2016062705940304?refer=openapi_for_xiaotiancai","abstract":"*6月27日下午主持召开*全面深化改革领导小组第二十五次会议并发表重要讲话。他强调,地方是推进改革的重要力量。","content":[{"type":1,"value":"央视网消息(新闻联播):**总书记、国家主席、*军委主席、*全面深化改革领导小组组长*6月27日下午主持召开*全面深化改革领导小组第二十五次会议并发表重要讲话。他强调,地方是推进改革的重要力量。各级党委要坚决贯彻落实党*改革部署,牢固树立政治意识、大局意识、核心意识、看齐意识,增强改革定力,聚集改革资源,激发创新活力,抓实目标任务、精准落地、探索创新、跟踪问效、机制保障,更加富有成效地抓好改革工作。 **政治局常委、*全面深化改革领导小组副组长刘云山、张高丽出席会议。 会议审议通过了《关于完善人大代表联系人民群众制度的实施意见》、《关于推进以审判为中心的刑事诉讼制度改革的意见》、《关于设立统一规范的国家生态文明试验区的意见》、《国家生态文明试验区(福建)实施方案》、《关于加快推进失信被执行人信用监督、警示和惩戒机制建设的意见》、《关于海南省域\u201c多规合一\u201d改革试点情况的报告》、《2015年各地全面深化改革推进情况和工作建议综合报告》。 会议指出,我国人民代表大会制度之所以具有强大生命力,关键在于深深植根于人民之中。完善人大代表联系人民群众制度,目的是建立健全有效管用的制度机制,让人大代表更好更紧密地联系人民群众。要推进代表联系人民群众的工作平台和网络平台建设,明确联系的工作内容,完善联系的方式方法,建立健全代表反映人民群众意见和要求的处理反馈机制。各级人大代表履行职责、联系群众,要积极宣传党的路线方针政策和党*重大决策部署,推动解决人民群众关心的突出问题。各级国家机关都要高度重视、认真处理代表反映的人民群众意见和诉求,研究改进工作,切实解决问题。 会议强调,推进以审判为中心的诉讼制度改革,要立足我国国情和司法实际,发挥好审判特别是庭审在查明事实、认定证据、保护诉权、公正裁判中的重要作用,促使办案人员树立办案必须经得起法律检验的理念,通过法庭审判的程序公正实现案件裁判的实体公正,防范冤假错案发生,促进司法公正。要着眼于解决影响刑事司法公正的突出问题,把证据裁判要求贯彻到刑事诉讼各环节,健全非法证据排除制度,严格落实证人、鉴定人出庭作证,完善刑事法律援助,推进案件繁简分流,建立更加符合司法规律的刑事诉讼制度。 会议指出,设立统一规范的国家生态文明试验区,目的是开展生态文明*改革综合试验,为完善生态文明制度体系探索路径、积累经验。要落实党*关于生态文明*改革的总体部署要求,就推进国土空间开发保护制度、空间规划编制、生态产品市场化改革、建立多元化的生态保护补偿机制、健全环境治理体系、建立健全自然资源资产产权制度、开展绿色发展绩效评价考核等重大改革任务开展试验,重点解决社会关注度高、涉及人民群众切身利益的资源环境问题。福建等试验区要突出改革创新,聚焦重点难点问题,在*机制创新上下功夫,为其他地区探索改革的路子。 会议强调,加快推进对失信被执行人信用监督、警示和惩戒建设,有利于促使被执行人自觉履行生效法律文书决定的义务,提升司法公信力,推进社会诚信体系建设。要建立健全跨部门协同监管和联合惩戒机制,明确限制项目内容,加强信息公开与共享,提高执行查控能力建设,完善失信被执行人名单制度,完善党政机关支持人民法院执行工作制度,构建\u201c一处失信、处处受限\u201d的信用惩戒大格局,让失信者寸步难行。 会议指出,*授权海南开展省域\u201c多规合一\u201d改革试点一年来,海南结合实际,积极推进改革探索,梳理化解规划矛盾,统筹主体功能区、生态保护红线、城镇体系、土地利用、林地保护利用、海洋功能区规划,在推动形成全省统一空间规划体系上迈出了步子、探索了经验。深入推进这项改革,要着重解决好*机制问题,处理好改革探索和依法推进的关系,一张蓝图干到底。*有关部门要加强统筹指导。 会议强调,改革是一场革命,改的是*机制,动的是既得利益,不真刀真枪干是不行的。地方各级党委要多在攻坚克难、解决问题上下功夫。目标任务要抓实,围绕*机制创新,自觉运用改革思维和改革办法推进各项工作,区分轻重缓急,优先推进、重点保障党*明确的重要改革任务、地方破解发展难题迫切需要的改革任务、同群众切身利益紧密相关的改革任务。精准落地要抓实,对症下药,制定实施方案直奔问题去,充分调研论证,突出针对性和可操作性。要准确把握改革内在联系,提高改革系统集成能力。探索创新要抓实,继续鼓励基层创新,形成改革者上、不改革者下的用人导向,及时总结推广地方的创新做法。跟踪问效要抓实,抓好改革督察,开展评估工作,做到基本情况清楚、问题分析清楚、工作方向清楚。机制保障要抓实,完善督办协调、督察落实、考评激励、责任追究等工作机制,重视改革队伍建设,搞好业务培训,加强业务指导,提高推进改革能力和水平。 *和国家有关部门要加强对地方改革创新的支持,对地方改革出现的问题要加强研判,制定专案,有针对性地加以解决。要加大改革宣传力度,在全社会形成良好改革预期,凝聚起推动改革强大气场。 *全面深化改革领导小组成员出席,*和国家有关部门以及有关地方负责同志列席会议。"}]},{"id":"FIN201606280079850H","from":"腾讯新闻客户端","qqnews_download_url":"http://inews.qq.com/m?refer=openapi_for_xiaotiancai","articletype":"0","title":"刘姝威:罢免全部董事 万科会彻底垮掉","src":"澎湃","thumbnails_qqnews":{"qqnews_thu_big":"http://inews.gtimg.com/newsapp_ls/0/376469932_640330/0","qqnews_thu":"http://inews.gtimg.com/newsapp_ls/0/376469932_150120/0"},"timestamp":1467078527,"url":"http://view.inews.qq.com/a/FIN201606280079850H?refer=openapi_for_xiaotiancai","abstract":"虽然万科股权之争还没有落幕,但是结局似乎已经比较清晰明白,因为大多数人希望这一事件的结局能够促进中国股市的法制化建设和实业发展,而不是导致中国股市陷入混乱、失控和衰败的深渊。万科股权之争有三个主角:万科管理层,前第一大股东华润和现任大股东宝能。一、保证上市公司管理团队的稳定性万科的股权分散,公司管","content":[{"type":1,"value":"虽然万科股权之争还没有落幕,但是结局似乎已经比较清晰明白,因为大多数人希望这一事件的结局能够促进中国股市的法制化建设和实业发展,而不是导致中国股市陷入混乱、失控和衰败的深渊。 万科股权之争有三个主角:万科管理层,前第一大股东华润和现任大股东宝能。 一、保证上市公司管理团队的稳定性 万科的股权分散,公司管理层没有公司控股权,类似情况在中国上市公司中不是特例,例如格力电器也是这样。万科能够发展成为世界最大的房地产企业,主要功绩应该归于王石郁亮管理团队,这是不争的事实。与万科一样,格力电器能够称雄世界空调行业,主要功绩应该归于董明珠管理团队。而董明珠管理团队与王石郁亮管理团队一样,没有公司控股权。 如果按照宝能提议,罢免万科全部董事,那么,万科会在一年内彻底垮掉,除了宝能持有的约四分之一的股份外,持有万科四分之三股份的投资者将遭遇灭顶之灾。如果宝能的提议能够成功,那么,格力电器马上会遭遇同样的命运。 上市公司股权分散和管理层没有公司控股权,这与当时的历史背景有关。为了避免再次发生万科股权之争的事件,弥补由于历史原因形成的漏洞,我建议上市公司的股东大会能够形成决议或制定制度,保证股东对管理层的监督,同时保证管理层的利益和稳定性。 二、央企应该保证国有资产的保值升值 万科的股份是华润持有的优质资产,万科的发展保证了这部分国有资产的保值升值。 当万宝股权之争公开化的时候,面对争夺第一大股东地位的竞争对手,华润没有采取有效的措施和作为。但是,令所有人大惊的是,6月23日晚上在宝能发表声明后不到十分钟华润发表内容相同的声明,谴责万科\u201c内部人控制\u201d。 华润与争夺优质国有资产的竞争对手合作。这是万宝股权之争公开化后,华润不作为的原因吗?华润是准备拱手相让优质国有资产还是与宝能有私下承诺?在万科股权之争中,华润的表现不仅不利于国有资产保值增值,而且可能有损于其他投资者的利益。 国资委应该规定,当发生类似万科股权之争的事件时,国有企业应对的基本要求。国资委也应该调查和处理在万科股权之争过程中,华润相关责任人损害国有资产的行为。 三、金融监管部门必须公开宝能收购万科股份的资金来源 只要稍微懂点儿专业知识的人都明白:宝能要求罢免万科全体董事的后果是什么?如此险资举牌上市公司,对股票市场的稳定发展是具有非常重要的支持作用还是具有毁灭性的破坏作用? 在万宝股权之争公开化后,半年前,媒体和舆论已经广泛质疑宝能收购万科股份的资金来源。金融监管层必须明确表态:宝能收购万科股份的资金来源是否合法?如果金融监管部门无法做出决定,那么,金融监管部门必须公开宝能收购万科股份的资金来源,由投资者判断这种做法是否合法?因为宝能收购万科股份的资金来源模式具有示范性,一旦确认宝能收购万科股份的资金来源模式合法,很多机构会效仿。那样的话,中国股市将陷入混乱,失控和衰败。所以,在宝能收购万科股份的资金来源是否合法的问题上,金融监管部门不能模棱两可,也没有回避回答这个问题的余地。 (澎湃) 【百佳董秘】今夏最火热董秘评选开锣!为你持有的上市公司投一票!扫码关注:腾讯证券(qqzixuangu)。"}]}]
*/ private int ret;
private String msg;
/**
* id : NEW2016062800875700
* from : 腾讯新闻客户端
* qqnews_download_url : http://inews.qq.com/m?refer=openapi_for_xiaotiancai
* articletype : 1
* title : 杭州城管组建“G20”女子巡逻队
* src : 腾讯图片
* thumbnails_qqnews : {"qqnews_thu_big":"http://inews.gtimg.com/newsapp_ls/0/376455614_640330/0","qqnews_thu":"http://inews.gtimg.com/newsapp_lsa/0/376319722_685160/0"}
* timestamp : 1467077810
* url : http://view.inews.qq.com/a/NEW2016062800875705?refer=openapi_for_xiaotiancai
* abstract : 杭州城管组建G20女子巡逻队 装扮炫酷
* content : [{"type":2,"value":"http://inews.gtimg.com/newsapp_match/0/376311464/0"},{"type":1,"value":"6月27日,清一色的装备、整齐的步伐,统一墨镜着装,杭州西湖景区行政执法局G20女子巡逻队在西湖白堤断桥景区巡逻。连国庆/东方IC "},{"type":2,"value":"http://inews.gtimg.com/newsapp_match/0/376311465/0"},{"type":1,"value":"据了解,这批抢眼的女队员是西湖景区执法局的G20女子巡逻队,是为服务G20而特别成立的应急管理服务队。"}]
*/ private List<NewsEntity> news; public int getRet() {
return ret;
} public void setRet(int ret) {
this.ret = ret;
} public String getMsg() {
return msg;
} public void setMsg(String msg) {
this.msg = msg;
} public List<NewsEntity> getNews() {
return news;
} public void setNews(List<NewsEntity> news) {
this.news = news;
} public static class NewsEntity {
private String id;
private String from;
private String qqnews_download_url;
private String articletype;
private String title;
private String src;
/**
* qqnews_thu_big : http://inews.gtimg.com/newsapp_ls/0/376455614_640330/0
* qqnews_thu : http://inews.gtimg.com/newsapp_lsa/0/376319722_685160/0
*/ private ThumbnailsQqnewsEntity thumbnails_qqnews;
private int timestamp;
private String url;
@SerializedName("abstract")
private String abstractX;
/**
* type : 2
* value : http://inews.gtimg.com/newsapp_match/0/376311464/0
*/ private List<ContentEntity> content; public String getId() {
return id;
} public void setId(String id) {
this.id = id;
} public String getFrom() {
return from;
} public void setFrom(String from) {
this.from = from;
} public String getQqnews_download_url() {
return qqnews_download_url;
} public void setQqnews_download_url(String qqnews_download_url) {
this.qqnews_download_url = qqnews_download_url;
} public String getArticletype() {
return articletype;
} public void setArticletype(String articletype) {
this.articletype = articletype;
} public String getTitle() {
return title;
} public void setTitle(String title) {
this.title = title;
} public String getSrc() {
return src;
} public void setSrc(String src) {
this.src = src;
} public ThumbnailsQqnewsEntity getThumbnails_qqnews() {
return thumbnails_qqnews;
} public void setThumbnails_qqnews(ThumbnailsQqnewsEntity thumbnails_qqnews) {
this.thumbnails_qqnews = thumbnails_qqnews;
} public int getTimestamp() {
return timestamp;
} public void setTimestamp(int timestamp) {
this.timestamp = timestamp;
} public String getUrl() {
return url;
} public void setUrl(String url) {
this.url = url;
} public String getAbstractX() {
return abstractX;
} public void setAbstractX(String abstractX) {
this.abstractX = abstractX;
} public List<ContentEntity> getContent() {
return content;
} public void setContent(List<ContentEntity> content) {
this.content = content;
} public static class ThumbnailsQqnewsEntity {
private String qqnews_thu_big;
private String qqnews_thu; public String getQqnews_thu_big() {
return qqnews_thu_big;
} public void setQqnews_thu_big(String qqnews_thu_big) {
this.qqnews_thu_big = qqnews_thu_big;
} public String getQqnews_thu() {
return qqnews_thu;
} public void setQqnews_thu(String qqnews_thu) {
this.qqnews_thu = qqnews_thu;
}
} public static class ContentEntity {
private int type;
private String value; public int getType() {
return type;
} public void setType(int type) {
this.type = type;
} public String getValue() {
return value;
} public void setValue(String value) {
this.value = value;
}
}
}
}

可以看到关于key为abstract的字段,使用了@SerializedName(“abstract”)注解

@SerializedName("abstract")
private String abstractX;

由于我是使用Retrofit来做Http操作的,部分代码如下:

Retrofit retrofit = new Retrofit.Builder()
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.addConverterFactory(JacksonConverterFactory.create(mapper))
.baseUrl(baseUrl)
.client(okHttpClient)
.build();

由此可以看出,我使用的是Jackson来解析Json数据,重新请求服务器,返回的结果如下所示:

NetQQNewsContentBean{id='NEW2016062900623800', from='腾讯新闻客户端', qqnews_download_url='http://inews.qq.com/m?refer=openapi_for_xiaotiancai', articletype='1', title='土耳其最大机场遭爆炸袭击36人遇难', src='央视新闻', thumbnails_qqnews=ThumbnailsQqnewsEntity{qqnews_thu_big='http://inews.gtimg.com/newsapp_ls/0/378529123_640330/0', qqnews_thu='http://inews.gtimg.com/newsapp_lsa/0/378404950_685160/0'}, timestamp=1467162794, url='http://view.inews.qq.com/a/NEW201606290062380O?refer=openapi_for_xiaotiancai', abstractX='null', content=[ContentEntity{type=2, value='http://inews.gtimg.com/newsapp_match/0/378379790/0'}, ContentEntity{type=1, value='当地时间2016年6月28日,土耳其伊斯坦布尔阿塔图克国际机场(Ataturk airport)发生至少两起爆炸,据路透引述当地官员的话称,爆炸是由两名自杀式袭击者在入境航厦入口引爆炸弹,警方在袭击者要进入安检前试图开枪阻止他们,其中一人先持枪扫射再引爆炸弹,据美联社报道,目前土耳其总理确认36人死亡,但人数可能进一步上升。'}, ContentEntity{type=2, value='http://inews.gtimg.com/newsapp_match/0/378379791/0'}, ContentEntity{type=1, value='据中国驻伊斯坦布尔总领馆透露,目前暂未接到中国公民伤亡报告。所有进出航班皆已暂停,目前尚无任何组织或人员宣称策划这起攻击。'}, ContentEntity{type=2, value='http://inews.gtimg.com/newsapp_match/0/378379792/0'}, ContentEntity{type=1, value='两名自杀式袭击者,被赶到的警察开枪后,引爆身上的炸弹。大批警察*机场出入口,航班全部暂停。'}, ContentEntity{type=2, value='http://inews.gtimg.com/newsapp_match/0/378379793/0'}, ContentEntity{type=1, value='土耳其官员表示,未知爆炸是否是自杀式袭击。美国有线新闻网报道,至少一起可能是自杀式炸弹袭击。据当地媒体报道,疑是*在机场两个地点发动炸弹攻击。'}, ContentEntity{type=2, value='http://inews.gtimg.com/newsapp_match/0/378379794/0'}, ContentEntity{type=1, value='目击者表示,机场停车场传出枪声。出租司机协助送伤者到医院。事发机场是土耳其最大国际机场。伊斯坦布尔多次遭到炸弹袭击,分别由库尔德族激进组织或“ISIS”策动。'}, ContentEntity{type=2, value='http://inews.gtimg.com/newsapp_match/0/378379816/0'}, ContentEntity{type=1, value='伊斯坦布尔阿塔图克国际机场是土耳其最大的机场。图为袭击现场。'}, ContentEntity{type=2, value='http://inews.gtimg.com/newsapp_match/0/378379817/0'}, ContentEntity{type=1, value='现场图片。'}, ContentEntity{type=2, value='http://inews.gtimg.com/newsapp_match/0/378379818/0'}, ContentEntity{type=1, value='现场图片。'}, ContentEntity{type=2, value='http://inews.gtimg.com/newsapp_match/0/378379819/0'}, ContentEntity{type=1, value='现场图片。'}, ContentEntity{type=2, value='http://inews.gtimg.com/newsapp_match/0/378379820/0'}, ContentEntity{type=1, value='现场图片。'}, ContentEntity{type=2, value='http://inews.gtimg.com/newsapp_match/0/378379863/0'}, ContentEntity{type=1, value='现场图片。'}, ContentEntity{type=2, value='http://inews.gtimg.com/newsapp_match/0/378379864/0'}, ContentEntity{type=1, value='现场图片。'}, ContentEntity{type=2, value='http://inews.gtimg.com/newsapp_match/0/378379865/0'}, ContentEntity{type=1, value='现场图片。'}, ContentEntity{type=2, value='http://inews.gtimg.com/newsapp_match/0/378379866/0'}, ContentEntity{type=1, value='现场图片。'}, ContentEntity{type=2, value='http://inews.gtimg.com/newsapp_match/0/378379867/0'}, ContentEntity{type=1, value='现场图片。'}, ContentEntity{type=2, value='http://inews.gtimg.com/newsapp_match/0/378379904/0'}, ContentEntity{type=1, value='现场图片。'}, ContentEntity{type=2, value='http://inews.gtimg.com/newsapp_match/0/378379905/0'}, ContentEntity{type=1, value='现场图片。'}, ContentEntity{type=2, value='http://inews.gtimg.com/newsapp_match/0/378379906/0'}, ContentEntity{type=1, value='现场图片。'}, ContentEntity{type=2, value='http://inews.gtimg.com/newsapp_match/0/378379907/0'}, ContentEntity{type=1, value='现场图片。'}, ContentEntity{type=2, value='http://inews.gtimg.com/newsapp_match/0/378379908/0'}, ContentEntity{type=1, value='现场图片。'}, ContentEntity{type=2, value='http://inews.gtimg.com/newsapp_match/0/378379953/0'}, ContentEntity{type=1, value='现场图片。'}, ContentEntity{type=2, value='http://inews.gtimg.com/newsapp_match/0/378379954/0'}, ContentEntity{type=1, value='现场图片。'}, ContentEntity{type=2, value='http://inews.gtimg.com/newsapp_match/0/378379955/0'}, ContentEntity{type=1, value='现场图片。'}, ContentEntity{type=2, value='http://inews.gtimg.com/newsapp_match/0/378379956/0'}, ContentEntity{type=1, value='现场图片。'}]}
NetQQNewsContentBean{id='NEW2016062804704802', from='腾讯新闻客户端', qqnews_download_url='http://inews.qq.com/m?refer=openapi_for_xiaotiancai', articletype='0', title='*主持政治局会议审议通过中国*问责条例', src='新华社', thumbnails_qqnews=ThumbnailsQqnewsEntity{qqnews_thu_big='http://inews.gtimg.com/newsapp_ls/0/377440324_640330/0', qqnews_thu='http://inews.gtimg.com/newsapp_ls/0/377440324_150120/0'}, timestamp=1467107816, url='http://view.inews.qq.com/a/NEW2016062804704802?refer=openapi_for_xiaotiancai', abstractX='null', content=[ContentEntity{type=1, value='**政治局召开会议 审议《中国*问责条例》 **总书记*主持会议
新华社北京6月28日电 **政治局6月28日召开会议,审议通过《中国*问责条例》。**总书记*主持会议。
会议指出,权力就是责任,责任就要担当,忠诚干净担当是党对领导*提出的政治要求。我们党95年奋斗取得的伟大成就,充分展现了*人的担当精神。实现“两个一百年”奋斗目标、实现中华民族伟大复兴的中国梦,关键是各级党组织尤其是党员领导*要担当责任,做到在党忧党,为党尽职、为民尽责。只要各级领导*心系使命、扛起责任,就没有过不去的坎。要唤醒责任意识,激发担当精神,永葆党的凝聚力和战斗力。
会议认为,问责条例是全面从严治党的利器。条例贯彻党章,坚持问题导向,紧紧围绕坚持党的领导、加强党的建设、全面从严治党、维护党的纪律、推进党风廉政建设和反腐败工作开展问责。对于失职失责造成严重后果、人民群众反映强烈、损害党执政的政治基础的都要严肃追究责任,既追究主体责任、监督责任,又追究领导责任。要把责任压给各级党组织,分解到组织、宣传、统战、政法等党的工作部门,释放有责必问、问责必严的强烈信号。
会议强调,问责条例是全面从严治党的重要制度,制度的生命在于执行。全面从严治党、推进标本兼治,最根本的就在于各级领导*要把管党治党的责任担当起来。各级党组织都要把自己摆进去,联系实际、以上率下,敢于较真碰硬、层层传导压力,让失责必问成为常态。要紧紧围绕贯彻党的路线方针政策、协调推进“四个全面”战略布局强化问责,倒逼责任落实,确保党*的集中统一领导,确保党*政令畅通,确保党的团结统一。
会议还研究了其他事项。'}]}
NetQQNewsContentBean{id='NEW2016062901059100', from='腾讯新闻客户端', qqnews_download_url='http://inews.qq.com/m?refer=openapi_for_xiaotiancai', articletype='0', title='约70名中国人安全撤离爆炸机场 或仍有部分国人被困', src='央视网', thumbnails_qqnews=ThumbnailsQqnewsEntity{qqnews_thu_big='http://inews.gtimg.com/newsapp_ls/0/378445873_640330/0', qqnews_thu='http://inews.gtimg.com/newsapp_ls/0/378445873_150120/0'}, timestamp=1467163638, url='http://view.inews.qq.com/a/NEW2016062901059109?refer=openapi_for_xiaotiancai', abstractX='null', content=[ContentEntity{type=2, value='http://inews.gtimg.com/newsapp_match/0/378443750/0'}, ContentEntity{type=1, value='【有约70名中国人安全撤离事发机场】据央视《朝闻天下》直播连线:土耳其总理协同伊斯坦布尔的省长和市长成立新的应急小组,安排出租车和大巴车疏散此前滞留在现场的旅客。在40分钟前,有30多名自北京出发的中国旅客坐上了机场组织的大巴前往市区,现场安全撤离的中国人有70至80人,可能仍有少数中国人停留在机场当中,目前暂无中国公民伤亡报告。(央视记者 高瞻)'}]}

可以看出来,关于原始数据中的key为abstract的内容解析出来为null,

abstractX='null',

2、解决方法

方法1,将Jackson类库改成Gson类库来解析Json数据

因为@SerializedName注解只是对Gson有效,如下图所示

  @SerializedName("abstract")
private String abstractX;

将Retrofit的相关配置改成如下所示:

 Retrofit retrofit = new Retrofit.Builder()
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
// .addConverterFactory(JacksonConverterFactory.create(mapper))
.addConverterFactory(GsonConverterFactory.create())
.baseUrl(baseUrl)
.client(okHttpClient)
.build();

重新请求服务器,拉取的最新Json数据,解析后如下所示:

NetQQNewsContentBean{id='NEW2016062804704802', from='腾讯新闻客户端', qqnews_download_url='http://inews.qq.com/m?refer=openapi_for_xiaotiancai', articletype='0', title='*主持政治局会议审议通过中国*问责条例', src='新华社', thumbnails_qqnews=ThumbnailsQqnewsEntity{qqnews_thu_big='http://inews.gtimg.com/newsapp_ls/0/377440324_640330/0', qqnews_thu='http://inews.gtimg.com/newsapp_ls/0/377440324_150120/0'}, timestamp=1467107816, url='http://view.inews.qq.com/a/NEW2016062804704802?refer=openapi_for_xiaotiancai', abstractX='**政治局召开会议审议《中国*问责条例》**总书记*主持会议新华社北京6月28日电**政治局6月28日召开会议,审议通过《中国*问责条例》。**总书记*主持会议。会议指出,权力就是责任,责任就要担当,忠诚干净担当是党对领导*提出的政治要求。我们党95年奋斗取得的伟大成就,', content=[ContentEntity{type=1, value='**政治局召开会议 审议《中国*问责条例》 **总书记*主持会议
新华社北京6月28日电 **政治局6月28日召开会议,审议通过《中国*问责条例》。**总书记*主持会议。
会议指出,权力就是责任,责任就要担当,忠诚干净担当是党对领导*提出的政治要求。我们党95年奋斗取得的伟大成就,充分展现了*人的担当精神。实现“两个一百年”奋斗目标、实现中华民族伟大复兴的中国梦,关键是各级党组织尤其是党员领导*要担当责任,做到在党忧党,为党尽职、为民尽责。只要各级领导*心系使命、扛起责任,就没有过不去的坎。要唤醒责任意识,激发担当精神,永葆党的凝聚力和战斗力。
会议认为,问责条例是全面从严治党的利器。条例贯彻党章,坚持问题导向,紧紧围绕坚持党的领导、加强党的建设、全面从严治党、维护党的纪律、推进党风廉政建设和反腐败工作开展问责。对于失职失责造成严重后果、人民群众反映强烈、损害党执政的政治基础的都要严肃追究责任,既追究主体责任、监督责任,又追究领导责任。要把责任压给各级党组织,分解到组织、宣传、统战、政法等党的工作部门,释放有责必问、问责必严的强烈信号。
会议强调,问责条例是全面从严治党的重要制度,制度的生命在于执行。全面从严治党、推进标本兼治,最根本的就在于各级领导*要把管党治党的责任担当起来。各级党组织都要把自己摆进去,联系实际、以上率下,敢于较真碰硬、层层传导压力,让失责必问成为常态。要紧紧围绕贯彻党的路线方针政策、协调推进“四个全面”战略布局强化问责,倒逼责任落实,确保党*的集中统一领导,确保党*政令畅通,确保党的团结统一。
会议还研究了其他事项。'}]}

可以发现关于原始数据中的key为abstract的内容解析出来,如下所示:

abstractX='**政治局召开会议审议《中国*问责条例》**总书记*主持会议新华社北京6月28日电**政治局6月28日召开会议,审议通过《中国*问责条例》。**总书记*主持会议。会议指出,权力就是责任,责任就要担当,忠诚干净担当是党对领导*提出的政治要求。我们党95年奋斗取得的伟大成就,',

方法2,使用@JsonProperty(“abstract”)注解

还是使用Jackson类库来解析Json数据,只是POJO类的注解改成@JsonProperty(“abstract”)

将Retrofit的相关配置还原成Jackson来解析,如下所示:

Retrofit retrofit = new Retrofit.Builder()
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.addConverterFactory(JacksonConverterFactory.create(mapper))
// .addConverterFactory(GsonConverterFactory.create())
.baseUrl(baseUrl)
.client(okHttpClient)
.build();

但是POJO类中,关于abstract的解析部分注解换成@JsonProperty(“abstract”)注解,如下所示:

    @JsonProperty("abstract")
// @SerializedName("abstract")
private String abstractX;

重新请求服务器,拉取的最新Json数据,解析后如下所示:

NetQQNewsContentBean{id='NEW2016062804704802', from='腾讯新闻客户端', qqnews_download_url='http://inews.qq.com/m?refer=openapi_for_xiaotiancai', articletype='0', title='*主持政治局会议审议通过中国*问责条例', src='新华社', thumbnails_qqnews=ThumbnailsQqnewsEntity{qqnews_thu_big='http://inews.gtimg.com/newsapp_ls/0/377440324_640330/0', qqnews_thu='http://inews.gtimg.com/newsapp_ls/0/377440324_150120/0'}, timestamp=1467107816, url='http://view.inews.qq.com/a/NEW2016062804704802?refer=openapi_for_xiaotiancai', abstractX='**政治局召开会议审议《中国*问责条例》**总书记*主持会议新华社北京6月28日电**政治局6月28日召开会议,审议通过《中国*问责条例》。**总书记*主持会议。会议指出,权力就是责任,责任就要担当,忠诚干净担当是党对领导*提出的政治要求。我们党95年奋斗取得的伟大成就,', content=[ContentEntity{type=1, value='**政治局召开会议 审议《中国*问责条例》 **总书记*主持会议
新华社北京6月28日电 **政治局6月28日召开会议,审议通过《中国*问责条例》。**总书记*主持会议。
会议指出,权力就是责任,责任就要担当,忠诚干净担当是党对领导*提出的政治要求。我们党95年奋斗取得的伟大成就,充分展现了*人的担当精神。实现“两个一百年”奋斗目标、实现中华民族伟大复兴的中国梦,关键是各级党组织尤其是党员领导*要担当责任,做到在党忧党,为党尽职、为民尽责。只要各级领导*心系使命、扛起责任,就没有过不去的坎。要唤醒责任意识,激发担当精神,永葆党的凝聚力和战斗力。
会议认为,问责条例是全面从严治党的利器。条例贯彻党章,坚持问题导向,紧紧围绕坚持党的领导、加强党的建设、全面从严治党、维护党的纪律、推进党风廉政建设和反腐败工作开展问责。对于失职失责造成严重后果、人民群众反映强烈、损害党执政的政治基础的都要严肃追究责任,既追究主体责任、监督责任,又追究领导责任。要把责任压给各级党组织,分解到组织、宣传、统战、政法等党的工作部门,释放有责必问、问责必严的强烈信号。
会议强调,问责条例是全面从严治党的重要制度,制度的生命在于执行。全面从严治党、推进标本兼治,最根本的就在于各级领导*要把管党治党的责任担当起来。各级党组织都要把自己摆进去,联系实际、以上率下,敢于较真碰硬、层层传导压力,让失责必问成为常态。要紧紧围绕贯彻党的路线方针政策、协调推进“四个全面”战略布局强化问责,倒逼责任落实,确保党*的集中统一领导,确保党*政令畅通,确保党的团结统一。
会议还研究了其他事项。'}]}

可以发现关于原始数据中的key为abstract的内容解析出来,如下所示:

abstractX='**政治局召开会议审议《中国*问责条例》**总书记*主持会议新华社北京6月28日电**政治局6月28日召开会议,审议通过《中国*问责条例》。**总书记*主持会议。会议指出,权力就是责任,责任就要担当,忠诚干净担当是党对领导*提出的政治要求。我们党95年奋斗取得的伟大成就,', 

总结

1、使用Gson解析Json时,在与Java关键字冲突的Json数据转换为POJO类时,加上@SerializedName注解,如下所示:

    @SerializedName("abstract")
private String abstractX;

2、使用Jackson解析Json时,在与Java关键字冲突的Json数据转换为POJO类时,加上@JsonProperty注解,如下所示:

    @JsonProperty("abstract")
private String abstractX;

作者:欧阳鹏 欢迎转载,与人分享是进步的源泉!

转载请保留原文地址:http://blog.csdn.net/ouyang_peng

我的Android进阶之旅------>解决Jackson、Gson解析Json数据时,Json数据中的Key为Java关键字时解析为null的问题