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等,使用方法也是大同小异,就不一一全部详细介绍了。

本站部分内容由互联网用户自发贡献,该文观点仅代表作者本人,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如发现本站有涉嫌抄袭侵权/违法违规等内容,请联系我们举报!一经查实,本站将立刻删除。

(0)

相关推荐

  • 淘宝彩票中奖怎么领取,淘宝彩蛋中奖怎么领

    《淘宝彩票中奖怎么领取?全面指南带你轻松搞定》 在如今的数字化时代,淘宝彩票成为了许多人参与彩票游戏的热门选择。 然而,对于中奖后的领取流程,也许很多人并不清楚。 本文将详细为大家介绍淘宝彩票中奖的领取方式,让你在幸运降临之时能够从容应对。 一、中奖通知与确认 当你在淘宝彩票中了奖,首先会收到淘宝系统发出的中奖通知。 这个通知可能会以短信、邮件或者在淘宝彩票…

    用户投稿 2025-03-27
  • 淘宝特卖商城首页,淘宝特卖入口在哪里

    《淘宝特卖商城首页:探秘其背后的秘密与运营之道》 在当今数字化时代,淘宝特卖商城首页宛如一个繁华的商业舞台,吸引着无数消费者的目光。 它究竟是如何运作的?又隐藏着哪些鲜为人知的秘密呢?让我们一同深入探究淘宝特卖商城首页的世界。 一、首页的布局与设计 淘宝特卖商城首页的布局可谓是精心策划的结果。 从整体上看,它仿佛是一幅精心绘制的画卷,将各种商品和信息有序地排…

    用户投稿 2025-05-01
  • ps3pc模拟器,ps3玩战神3流畅吗

    继使用PC模拟器“RPCS3”模拟PS3版《荒野大镖客》一代之后,这个团队又完善了《战神3》的模拟器版本。 新版本解决了使用SPU LLVM时导致的性能问题,使得《战神3》在模拟器上可以在30帧左右运行,尽管一些场景依然会有掉帧,但是比起之前的版本有了不错的提升,至少可以游玩了。 而在运行《荒野大镖客》一代时,这个团队使用了i9-9900k的CPU,因此在电…

    2023-07-04
  • 幽城幻剑录,幽城幻剑录完美结局流程攻略

    早年玩盗版游戏的人,几乎都被游戏折磨过吧,毕竟只有正版才有说明书。 很多游戏故意设计一些难点,没有说明书很容易被卡住。当年汉堂的《寰神结》和《幽城幻剑录》就是专门整治盗版的,你甚至连关闭页面都找不到。 而《金庸群侠传》这边也是如此,剧情环环相扣,场景相当复杂。没有地图、说明书和物品说明,玩家几乎是举步维艰。但偏偏早年的玩家们很有耐心,硬是靠自己的毅力将游戏内…

    2023-07-04 用户投稿
  • 牛樟芝功效与作用,牛樟芝什么人不能吃

    很多人常感觉身体不适,但到医院又检查不出毛病,这就是一般所谓的「亚健康状态」。牛樟芝在消除疲劳,提升肝脏功能方面是目前同类产品中效果最明确的,在学界背书及商业行销的推波助澜下,牛樟芝已取代灵芝成为国内接受度最高的保健菇类产品。效果明确的牛樟芝的确值得推广,但目前所有的学术研究都只探讨它的功效与优点,牛樟芝的可能副作用,正确的服用方法,及是否适合长期食用等问题…

    2023-06-26
  • 阿里指数,阿里指数怎么没有了

    《阿里指数:网站SEO运营的重要利器》 在网站SEO运营的领域中,阿里指数无疑是一个极具价值的工具。 它就像是一位隐藏在互联网背后的神秘智者,为我们提供了关于市场趋势、热门商品、消费者行为等诸多方面的宝贵信息。 或许你会疑惑,一个专注于电商领域的指数,怎么能对网站SEO运营产生如此重要的影响呢?让我们一起深入探索阿里指数的奥秘吧。 一、阿里指数是什么? 阿里…

    用户投稿 2025-02-28
  • 快手极速版赚钱是真的吗(被官方认可的看视频赚钱)

    教你怎么在快手赚钱。第一步,去应用市场下载快手极速版APP。   第二步,用微信登录 第三步,点击左上角三条杠   点击去赚钱   填写邀请码   邀请码填xxxxxxx   然后你会发现钱直接到钱包中。然后提现就可以了!下面是我的收益给大家看下    

    2021-10-27 用户投稿
  • 祛皱的方法,去皱纹最快的土办法

    皮肤出现皱纹是一件非常令人烦恼的事情,因为皱纹的出现,会让人看起来比较显老也影响美观,什么方法除皱最有效?市面上有很多除皱产品,效果其实微乎其微,皱纹的出现除了年龄因素,与自己日常的保养也有关,当然也存在个体差异,但是皱纹一旦出现,就是不可逆的,运用医美的手段可以除皱。那么,现在除皱的最好的方法是什么呢?下面小编就给大家介绍目前最有效的除皱方法有哪些吧~~~…

    2023-06-30
  • 专业app定制开发(微信小程序app定制开发的基本流程包括)

    微信小程序和APP定制都需要一个开发周期和流程,比起模板来说,定制开发的流程更加复杂,下面就个大家简单介绍一下微信小程序APP定制开发的基本流程。 1、梳理需求。 企业和开发公司详细沟通,了解需求企业的具体想法和目的,开发公司进行梳理总结,明确各部分的功能板块。 2、原型图和界面设计。 原型图是为了将小程序APP的功能和逻辑流程大概展示出来,如没有问题就可以…

    用户投稿 2023-06-01
  • 自媒体创业怎么起步(新手做自媒体从哪开始)

    今天给大家分享的内容是“自媒体怎么入门”。关注我们,可学习全套自媒体知识。   作为小白新手,想要入门自媒体,可以从以下五个方面开始: (1)想清楚自己为什么要做自媒体。是为了赚钱,为了兴趣,还是为了出名? (2)了解各大自媒体平台特点。百家号、今日头条、企鹅号、大鱼号、抖音、快手、小红书、B站、微博、知乎等热门平台,每个平台都有自己的特点。 &n…

    2021-11-03
  • 男生对你起了生理反应的眼神(男生对你起了生理反应的眼神清冽)

    爱情的本能是什么?大概就是爱到真切时,是无法隐藏的。即使嘴上不说,只要两个人一靠近,就会伴随着爱情荷尔蒙的分泌,引起一系列的生理反应。 每个人对于爱情的定义都不一样,有些人认为爱情需要顺其自然,不必强求;有的人则认为爱情需要通过努力争取,方才不会错过。但真正相爱的两个人,靠的是生理吸引才能走到一起。 彼此之间如果没有一点心动的感觉,是很难长久的。特别是一种生…

    2023-05-31 用户投稿
  • 最近好看的韩剧2022排行榜(最近好看的韩剧2022排行榜第一)

    #头条创作挑战赛# 2023年最热韩剧有哪些?目前什么韩剧最火?随着影视行业的发展,好看的韩剧越来越多了,除了一些正在热播的韩剧外,许多以前的经典韩剧都值得一看。下面小编就根据大数据为大家推荐2023年最火十大韩剧排行榜,排名不分先后,都是当下最受欢迎的韩剧,如果你不知道什么韩剧好看,直接参考这份人气韩剧榜单随意看即可。 1.黑暗荣耀(2022) 《黑暗荣耀…

    2023-05-24 用户投稿