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)

相关推荐

  • 最好卖的地摊货,地摊货有什么

    在上节里我们提到过,地摊货一定要是便宜的、大众化的。很多都市白领我这里要好好批评下了哈,凡是那些摆地摊卖些稀少的东西,总认为别人没有自己才有感觉很独特,朋友,错了,你要知道你能想到的别人都能想到.你能做到的别人也能做到,记住,没人卖的东西也许就是没人买的东西,卖的人越多的东西肯定是买的人最多的东西。摆地摊要多在方式上独出心裁,尽量不要在产品上独出心裁。所以我…

    2023-07-09
  • 欧莱雅眼霜怎么样,欧莱雅眼霜紫熨斗好用吗

    欧莱雅眼霜怎么样,欧莱雅眼霜紫熨斗好用吗欧莱雅眼霜怎么样,欧莱雅眼霜紫熨斗好用吗欧莱雅眼霜怎么样,欧莱雅眼霜紫熨斗好用吗欧莱雅眼霜怎么样,欧莱雅眼霜紫熨斗好用吗

    从什么时候发现自己开始衰老的?不笑时依然若隐若现的眼角细纹?怎么都抚不平的眼下干纹? 现在每次大笑之后,都要像小品里演的一样撑着眼周按一按,没办法,是真的开始有纹了。 “人老先老脸,老脸先老眼”。 眼部肌肤格外脆弱,随着年龄增长,加上熬夜、持妆等不良习惯,现代人眼纹似乎出现得更早一些。 护肤专家建议18岁就可以开始使用眼霜,大部分人护肤起步晚,更是早就把“抗…

    2023-07-02 用户投稿
  • 珠海好玩的地方(珠海好玩的地方景点免费排名)

    珠海好玩的地方(珠海好玩的地方景点免费排名)珠海好玩的地方(珠海好玩的地方景点免费排名)珠海好玩的地方(珠海好玩的地方景点免费排名)珠海好玩的地方(珠海好玩的地方景点免费排名)

    大年初一,珠海天气晴好,节日气氛浓郁,正适合带上全家老小出门亲近自然,呼吸新年的新鲜空气。 为了让市民和游客在珠海度过一个丰富多彩、吉庆安康的春节,南方+推出“Go‘兔’珠海”系列活动预告,今天推出第三篇《阖家欢乐,珠海哪些地方适合全家出动?》。 活力无限 烟花、国潮热闹非凡 春节期间,珠海长隆将连续举办多场迎春活动,满足全面通关后港澳和国外等多地游客的文旅…

    2023-05-24 用户投稿
  • 让你的衬衫保持新鲜的最佳方法

    文/柚子 衬衫是每个女生都必不可少的单品,可通勤、可休闲,能参加酒会还能出街,真的是”上得厅堂下得厨房”一年四季都可穿的单品。兼具实用与时髦的衬衫如何穿出新鲜感?接下来就来讲一讲不同衬衫都有哪些搭配方法,一起来看看吧: 纯色衬衫 相信每个人的衣橱里都少不了一件纯色衬衫,尤其是白衬衫,它的利用率真的挺高的。很多人穿衬衣很容易穿出&#82…

    2023-05-22
  • 微信电脑登陆,怎么才能登录别人的微信

    微信电脑登陆,怎么才能登录别人的微信微信电脑登陆,怎么才能登录别人的微信微信电脑登陆,怎么才能登录别人的微信微信电脑登陆,怎么才能登录别人的微信

    无论学习工作还是生活已经都离不开微信了,微信使用范围广,且受众群体广,不仅年轻人在用,更加适合老年人使用。不管使用的人群有多庞大,不可否认的是微信确实带来了很多便利。 部分用户会像我一样都会注册多一个微信账号,目的就是为了把生活和生活区分开,方便管理。如果你只有一台设备的话,就登录不了两个微信号了吗?本人可不这么认为,微信有庞大的用户基础,那么想要在电脑上登…

    2023-07-08 用户投稿
  • 果果cps是什么?怎么赚钱的

    广告联盟cps的意思就是通过销售产品来按分成来获得佣金,是直接投放的广告模式。其中大家最所熟知的应该就是淘宝联盟了,通过注册淘宝联盟成为淘宝客,获取专属的产品推广链接,用户通过推广链接下单,淘宝客获得佣金。 cps结算是什么意思?cps推广如何赚钱 淘宝联盟 现在很多广告商都喜欢用cps这种模式来给推广者推广,一方面因为这种能直接给广告商带来利用,而不用怕像…

    2021-11-02
  • 计算机围棋,职业棋手对柯洁的评价

    1月24日23时32分,当今中国围棋第一人柯洁在自己的微博上发布了一篇长文——《职业棋手与人工智能的差距?》。文章论述了自己近来与腾讯围棋人工智能“绝艺”对战后的心得。 “前几天第一次尝试输了,被大肆报道了一番…今天赢了,却没有任何报道。现在的人呀…真是喜欢搞个大新闻啊…”柯洁在文章开头如此调侃了自己与“绝艺”的第一次交手…

    2023-06-30
  • 味精放在啤酒里(味精放在啤酒里会有什么效果呢)

    啤酒和味精是生活中都是非常常见的,但是把他们两个混合在一起,相信没有几个人知道后果会是什么?关于“啤酒加味精”会变成什么,网络上有太多的传闻。有人说会变成毒药、有人说会变成砒霜、还有人说会变成春药。。。究竟真相如何,“啤酒加味精”的各种“传说”还是一起了解下吧! 啤酒是人类最古老的酒精饮料,是水和茶之后世界上消耗量排名第三的饮料。啤酒于二十世纪初传入中国,属…

    2022-05-05
  • 我的世界电脑版(我的世界网页版怎么玩)

    我的世界电脑版(我的世界网页版怎么玩)我的世界电脑版(我的世界网页版怎么玩)我的世界电脑版(我的世界网页版怎么玩)我的世界电脑版(我的世界网页版怎么玩)

    《我的世界(Minecraft)》是一款风靡全球的沙盒创造游戏,虽然画面都是像素但玩法创意无限。这款游戏最初仅为瑞典程序员马库斯·泊松一人制作,2009年发布了首个早期体验版本,之后不断演进才成为了今天的样貌。而现在,为了纪念《我的世界》十周年,游戏最初的首个公开版本被免费发布到了网页端。 该页游版《我的世界》完全还原了十年前的早期经典版本,没有生物群系、武…

    2023-07-06 用户投稿
  • 漫步者lollipods mini怎么样,漫步者蓝牙5.2耳机

    漫步者lollipods mini怎么样,漫步者蓝牙5.2耳机漫步者lollipods mini怎么样,漫步者蓝牙5.2耳机漫步者lollipods mini怎么样,漫步者蓝牙5.2耳机漫步者lollipods mini怎么样,漫步者蓝牙5.2耳机

    对于真无线蓝牙耳机,我从最初对音质的追求到现在舒适性的体验,我上上下下也使用了不少耳机。随着蓝牙技术的成熟,真无线耳机在稳定性和音质方面都有了很大的提升。现在,各种功能也越来越丰富了。不过我最终还是回归到了对耳机舒适性方面的追求。 可能是出于我经常使用耳机的原因,对于有些耳机短时间佩戴时倒没什么,一旦使用时间过长,就会引起耳朵胀痛等不适感。特别是市面上有些耳…

    2023-07-12 用户投稿
  • filezilla乱码,filezilla server 0.9.60中文乱码

    《关于FileZilla乱码问题的深入探讨》 一、引言 在使用FileZilla进行文件传输的过程中,很多用户可能会遇到乱码的问题。这个问题虽然看似只是一个小小的显示异常,但却给文件传输和数据处理带来了不少困扰。我觉得这个问题可能是由多种因素引起的,也许与文件编码、传输协议或者软件设置等方面有关。接下来,我将尝试对FileZilla乱码问题进行深入的分析和探…

    2025-09-04
  • 营养早餐50例做法(营养早餐50例破壁机)

    营养早餐50例做法(营养早餐50例破壁机)营养早餐50例做法(营养早餐50例破壁机)营养早餐50例做法(营养早餐50例破壁机)营养早餐50例做法(营养早餐50例破壁机)

    夏季常吹空调喝冷饮容易伤脾胃~早上用破壁机自制点米糊来喝再营养不过啦! 今天分享的米糊不仅做法简单,还老少咸宜哦,宝宝也阔以喝! ①玉米山药小米糊 材料? 玉米+山药+小米 做法? 小米提前两个小时泡发,制作时把削皮切块的山药和剥好的玉米粒连同小米一起放入破壁机里,加两碗水现打成米糊即可。 ②香蕉核桃红枣米糊 材料? 香蕉+核桃+红枣+大米 做法? 大米提前…

    2022-05-06 用户投稿