java解析json字符串,解析json格式的字符串

我们经常要解析JSON,比如下面一段JSON,是某个HTTP请求的返回:

{

    "status": "200",

    "message": "success"

}

我们想取它的message字段,该怎么操作呢?不幸的是,java标准库并没有提供解析JSON的功能,但是,我们可以使用很多的第三方库来处理这个问题。假设我们有一个类Response,对应前面的JSON:

class Response{

    private String status;

    private String message;

    ... getter/setter

}

下面介绍几个常用JSON解析类库。注意:下面类库的版本号都是写作时较新的版本,使用时可以去maven中心仓查找一下最新版本。

Gson

Gson是Google开源的一个JSON库,被广泛使用。首先,我们在maven中引入Gson:

<dependency>

    <groupId>com.google.code.gson</groupId>

    <artifactId>gson</artifactId>

    <version>2.9.1</version>

</dependency>

Gson将JSON解析成对象

代码如下:

String json = "{\"status\": \"200\",\"message\": \"success\"}";

Gson gson = new Gson();

Response response = gson.fromJson(json, Response.class);

System.out.println(response.getMessage());

Gson直接解析JSON并获取字段

有时候,我们没有JSON对应的对象,只是简单的取一个字段,这时也可以通过Gson来操作。

String json = "{\"status\": \"200\",\"message\": \"success\"}";

JsonObject jsonObject = JsonParser.parseString(json).getAsJsonObject();

System.out.println(jsonObject.get("message").getAsString());

Jackson

Jackson是当前用的比较广泛的,用来序列化和反序列化 json 的 Java 的开源框架。

首先,我们在maven中引入Jackson:

<!--  -->

<dependency>

    <groupId>com.fasterxml.jackson.core</groupId>

    <artifactId>jackson-databind</artifactId>

    <version>2.14.0</version>

</dependency>

Jackson将JSON解析成对象

代码如下:

ObjectMapper objectMapper = new ObjectMapper();

String json = "{\"status\": \"200\",\"message\": \"success\"}";

try {

    Response response = objectMapper.readValue(json, Response.class);

    System.out.println(response.getMessage());

} catch (JsonProcessingException e) {

    throw new RuntimeException(e);

}

Jackson直接解析JSON并获取字段

代码如下:

ObjectMapper objectMapper = new ObjectMapper();

String json = "{\"status\": \"200\",\"message\": \"success\"}";

try {

    JsonNode jsonNode = objectMapper.readTree(json);

    System.out.println(jsonNode.get("message").asText());

} catch (JsonProcessingException e) {

    throw new RuntimeException(e);

}

Fastjson

Fastjson是阿里开源的高性能JSON库。但是,由于之前围绕Fastjson的autotype特性出过较多的安全问题,不建议使用(仅个人观点。)。

首先,我们在maven中引入Jackson:

<dependency>

    <groupId>com.alibaba.fastjson2</groupId>

    <artifactId>fastjson2</artifactId>

    <version>2.0.19</version>

</dependency>

Fastjson将JSON解析成对象

代码如下:

String json = "{\"status\": \"200\",\"message\": \"success\"}";

Response response = JSON.parseObject(json, Response.class);

System.out.println(response.getMessage());

Fastjson直接解析JSON并获取字段

代码如下:

String json = "{\"status\": \"200\",\"message\": \"success\"}";

JSONObject data = JSON.parseObject(json);

System.out.println(data.getString("message"));

得益于丰富的生态,Java还有很多其他优秀的Json库,比如JSON-java,hutool等,使用方法也是大同小异,就不一一全部详细介绍了。

本文来自投稿,不代表展天博客立场,如若转载,请注明出处:https://www.me900.com/327141.html

赞 (0)

相关推荐

  • 八仙汤的功效与作用,八仙汤中药组成

    不孕 河北玉田先贤王清任虽不长于文,却属有阅历的实践家,《医林改错》所记各种处方皆从经验中来,是岐黄界公认奇人。其少腹逐瘀汤:当归10克,川芎7克,赤芍7克,生蒲黄10克,炒五灵脂7克,肉桂3克,没药7克,延胡索3克,炒干姜1克,炒小茴香1克。水煎,分2次服。对妇女月经延期、量少、色暗下块、痛经、子宫内膜增生流血不止,都有作用。老朽临床以之治疗不孕症,凡盆腔…

    2023-07-13
  • 孕妇防辐射服排名(孕妇办公室上班必须用防辐射服吗)

    孕妇防辐射服排名(孕妇办公室上班必须用防辐射服吗)孕妇防辐射服排名(孕妇办公室上班必须用防辐射服吗)孕妇防辐射服排名(孕妇办公室上班必须用防辐射服吗)孕妇防辐射服排名(孕妇办公室上班必须用防辐射服吗)

    第一种:防辐射服 防辐射服刚出来那会儿,那是真的风靡一时,当时说很多家电都有辐射,对孕妇不好,于是准妈妈们几乎人手一件。 可人们平时接触的家电,那辐射对孕妇的影响,可谓是微乎其微等同于零,那些不过是商家卖货的说辞。 甚至很多防辐射服根本一点儿也不防辐射,跟普通衣服没什么两样。 第二种:待产包 去医院生产前,家里人都会先准备好各种需要用到的东西,有些人嫌麻烦,…

    2023-05-31 • 用户投稿
  • 男友和前女友联系(结束一段感情后再开始另一段)

    男友和前女友联系(结束一段感情后再开始另一段)男友和前女友联系(结束一段感情后再开始另一段)男友和前女友联系(结束一段感情后再开始另一段)男友和前女友联系(结束一段感情后再开始另一段)

    说到前任这个话题,大概是很多人心里过不去的一道坎,不管是甜蜜的还是悲伤的,只要那个人还没完全消失在你的世界,你就无法好好开始。 有些人在结束一段感情后,会做个合格的前任,从此桥归桥路归路,不会再打扰你的生活,但有些前任会在一段时间后突然联系,你会觉得莫名其妙,不知道他在想些什么,甚至会开始胡思乱想。 你以为,他是因为还在爱着你,才会重新联系你,可他这样做只是…

    2023-06-01 • 用户投稿
  • 网上订票放票时间,如何获取最新网上订票放票信息

    2023年,春节的高铁票是提前15天预售的。今年的春运是从1月21日开始,而春运的高铁票已经从1月7日开始预售了,需要购买回家过年的高铁票的人员就需要注意了。注意了解乘车高铁站的放票时间,可以更好的把握抢票时间哦。 高铁站放票时间查询步骤: 登录“铁路12306”后,在界面右下角找到“我的”,接着找到“出行向导”栏目“起(止)售时间”,点击,输入查询站点、日…

    2023-05-23
  • 肇庆一日游攻略指南

    首先,小编问大家一个问题: 假如给你一天时间游肇庆, 你会选择去哪里? 七星岩、鼎湖山、宋城墙…… 肇庆景点这么多, 小伙伴们是不是很纠结呢? 不用担心,继续看下去你就会知道答案~ 图片来源 CCTV魅力中国城 建设宜居宜业宜游优质生活圈和 世界级文化旅游目的地 是粤港澳大湾区建设的重要内容。 依托丰富的旅游资源以及 厚重的人文历史底蕴, 作为粤港澳大湾区核…

    2023-06-04
  • 有什么兼职一天可以赚20到30元(日挣30元的微信小兼职)

    有什么兼职一天可以赚20到30元(日挣30元的微信小兼职)有什么兼职一天可以赚20到30元(日挣30元的微信小兼职)有什么兼职一天可以赚20到30元(日挣30元的微信小兼职)有什么兼职一天可以赚20到30元(日挣30元的微信小兼职)

    我找到了一个大家都能做的小兼职项目。收入通常是每天几十元。优点是几个软件可以一起做。今天就分享一下吧。 1.项目原则。 大家都用过地图软件,比如高德和百度地图。 这些软件在路线方面有优势,但是有些细节是没有办法解决的。如果靠自己收藏,耗费的人力物力就过分了,很多地方就不一样了。也许今天收集完信息,明天又换一家店。 在这种情况下,这些地图软件发布任务,让当地人…

    2021-10-28 • 用户投稿
  • 小规模纳税人税收优惠(增值税小规模纳税人最新减免政策)

    国家税务总局 关于增值税小规模纳税人减免增值税等政策有关征管事项的公告 国家税务总局公告2023年第1号 按照《财政部?税务总局关于明确增值税小规模纳税人减免增值税等政策的公告》(2023年第1号,以下简称1号公告)的规定,现将有关征管事项公告如下: 一、增值税小规模纳税人(以下简称小规模纳税人)发生增值税应税销售行为,合计月销售额未超过10万元(以1个季度…

    2023-06-12
  • ubuntu12.04安装,Ubuntu安装qt5

    一、下载安装包 在官网地址:http://download.qt.io/archive/qt/5.12/5.12.3/下载安装包;进入官网如下图所示: 选择最新的发布版本qt-opensource-linux-x64-5.12.3.run下载;把安装包拷贝到Ubuntu 18.04下。 二、安装Qt5.12 1、执行以下命令修改安装包权限 chmod a+x…

    2023-07-05
  • 开一家月子中心要多少钱(开月子中心需要投资多少)

    海宁市的周姐最近在医院顺利了一对双胞胎,由于自己是高龄产妇,公婆年龄太大了,家里人没人能伺候月子,便在家附近选了一家叫喜悦月子中心住下了,刚开始住进月子中心的时候,服务的确实不错,大人有专门的人伺候,孩子也有专门的育婴师24小时伺候,这样周姐的家人省心了很多,当时谈好的价格是住30天,价格不到4万元。 就在快出月的时候,有一天晚上月嫂慌慌张张地跑过来告诉周姐…

    2023-06-05
  • 嘉兴团购网 什么是嘉兴团购网

    “叮铃铃”“叮铃铃”……今天上午,在嘉兴市96345社区服务求助中心接线室里,电话铃声此起彼伏,接线员们正全力应对。原来,今天是96345家政超级团购会开启预约的第一天,不少市民迫不及待地拨打96345,准备给家里来一场“大清洗”。 “今天早上7点多,我就打96345预约了清洗油烟机的服务。”家住市区陆家苑的范先生告诉记者,新年临近,趁着天气还不…

    2023-06-02
  • 淘宝金牌卖家申请入口(淘宝加入金牌卖家的条件要求)

    淘宝金牌卖家申请入口(淘宝加入金牌卖家的条件要求)淘宝金牌卖家申请入口(淘宝加入金牌卖家的条件要求)淘宝金牌卖家申请入口(淘宝加入金牌卖家的条件要求)淘宝金牌卖家申请入口(淘宝加入金牌卖家的条件要求)

    什么是金牌卖家?金牌卖家是对一段时间内成交好、服务好、口碑好的卖家的一种激励手段,淘宝运用数据、通过给卖家打标的方式完成。金牌卖家有如下好处: 1、 金牌卖家图标将在搜索结果页、店铺列表页、店铺首页、宝贝详情页、旺旺买家端等多个场景穿透,不断加强买家的认知度,提升店铺信誉和潜在转化率; 2、 活动审核优先权:“金牌卖家”在招商平台中拥有同等条件下优先活动入选…

    2022-09-22 • 用户投稿
  • 电脑主题xp,电脑主题下载软件

    电脑主题xp,电脑主题下载软件电脑主题xp,电脑主题下载软件电脑主题xp,电脑主题下载软件电脑主题xp,电脑主题下载软件

    微软曾经创建了一个神秘的 Windows XP 主题,从而让该操作系统看起来更接近于 Mac。最近泄漏的 Windows XP 源代码泄漏了微软在操作系统上的早期工作,以及该公司在 2000 年早期 XP 系统开发期间创建的一些主题。 其中一款主题标记为 “Candy”,提供了和苹果Aqua 相似的外观设计,虽然这个主题并不完整,但 Windows XP 的…

    2023-07-11 • 用户投稿