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)

相关推荐

  • 天天酷跑电脑,天天酷跑python代码

    有很多小伙伴都有尝试过在手机上运行手游脚本辅助。现在手游脚本多不胜数,基本都是基于按键精灵或者是触摸精灵等制作出来的,这不同于叉叉助手、葫芦侠等辅助工具平台。它们是独立运行,占用资源极少,完全不担心会导致游戏崩溃。而这种手游辅助能否在电脑上的安卓模拟器上运行呢?今天要测试的是一款小小的辅助工具:天天酷跑进击神器 辅助主界面: 第一步:下载并安装猩猩助手安卓模…

    2023-07-08
  • 镜之边缘还会出续作吗,哪些游戏出过续作

    距离《镜之边缘:催化剂》正式发售已近一周,目前从各方面的评价来看,这款游戏似乎并不如预期的那样好。近日,外媒从游戏本身质量和粉丝反馈出发,对这一品牌是否值得出续作进行了讨论。一起来看看吧。 《镜之边缘:催化剂》给人一种特别矛盾的感觉:一方面,它看起来像是一部还不错的“多标题(multi-title)”试水之作;而另一方面,它又像是一枚“死亡之针”,让《镜之边…

    2023-07-12 用户投稿
  • 克莉丝汀翡翠卡 如何购买 如何选择 哪里有卖

    每一个时代都孕育了各自的时尚风潮,承载了时代风华的服装与发型随着时间逐渐消逝不见,而永续流传的高级珠宝却未曾改变丝毫。那些凝聚了潮流风尚的珠宝,如同一件件璀璨而生动的化石,记录着每个时代的风格变迁。这个夏天,一场名为“When Elegance Meets Art雅艺之美”的古董珠宝展在北京今日美术馆上演,近360件Van Cleef & Arpe…

    用户投稿 2023-05-23
  • 淘宝部分网页打不开(为什么只有淘宝网页打不开)

    有win10系统用户发现,打开淘宝网页的时候提示网页打不开,而访问其他的网页时候则是正常的,今天就为大家分享win10系统无法打开淘宝的解决方法。 1、点击桌面上的网络图标,右击属性。如图:    2、选择右上方的以太网出现此页面。如图:    3、点击属性按钮。如图:    4、选择协议版本4那行,单击右边属性。如图:    5、看选择“使用下面的dns地…

    2023-05-24 用户投稿
  • vagaa哇嘎,vagaa哇嘎

    以下是一篇关于“vagaa哇嘎”的文章: 一、“vagaa哇嘎”的前世今生 也许在很多人的记忆中,“vagaa哇嘎”曾经是一个颇具争议的存在。它好像是在互联网发展的某个阶段悄然兴起,一度成为了很多人获取资源的重要途径。我记得那时候,网络环境还没有像现在这样规范和严格,“vagaa哇嘎”就像是一个隐藏在网络角落里的神秘宝藏,吸引着无数人的目光。 它的出现,也许…

    用户投稿 2025-10-29
  • 有文化内涵又高雅的结婚祝福语(有文化内涵又高雅的结婚祝福语)

    古代贺结婚、嫁女、寿辰……祝福语大全,美的让人心醉! 注:图文均来自网络,如有侵权,请联系删除。

    2023-05-30 用户投稿
  • 比较好的流量卡推荐移动(移动比较好的流量套餐)

    作为一个良心up主,在经历了移动官方的高价套餐后毅然选择了互联网套餐卡,官方套餐19.9元20g属实不够用,经常一个月光流量费用就要用掉50,这还不包括原本套餐的费用。 后来兜兜转转了解到了物联网卡,使用一段世界后限制颇多,流量还很虚。后面就接触到了现在自己使用的互联网套餐卡,没什么限制流量还很多,相比之下真的很舒服。 废话不多说,开始上菜。 联通:最近联通…

    2023-05-30
  • 师洋淘宝店,师洋淘宝店评价骂人

    《师洋淘宝店:从SEO角度的探索与思考》 在如今的电商时代,淘宝店如雨后春笋般涌现,竞争愈发激烈。 而“师洋淘宝店”这个名字,仿佛在众多店铺中独树一帜,吸引着我们去探究它背后的SEO奥秘。 一、店铺名称与SEO的关联 师洋这个名字本身就具有一定的独特性和辨识度,也许它能让消费者在众多店铺中快速记住“师洋淘宝店”。 从SEO的角度来看,一个独特的店铺名称就像是…

    用户投稿 2025-06-10
  • 卤菜卤水的配方,万能卤汁调配方法大公开

    还有不到一个月就是农历新年了,一到新年各家各户总免不了卤七卤八什么鸡爪、鸭翅、牛肉、干豆皮的,当下酒菜呀,当零食吃~cr:陛下开饭了大葱半根 、小葱一小把、生姜、冰糖 3 块、香叶 5 片、八角 3 个、桂皮 1 小块、当归 3-4 粒、陈皮 3 片、甘草 1-2 个、豆蔻 3 个、川芎 1-2 个、花椒一小把、生抽 15ml 、老抽 15ml 、豆酱 2 …

    2023-07-06 用户投稿
  • 直通车扣费公式,直通车扣费计算公式:简单易懂

    无交流不电商,大家好,我是淘先生,一个新手电商行业的从业者。结合实操说说自己的心得和经验,新手期你我一起成长,欢迎大家一起讨论和指导。 接下里的这一周,给大家说一说直通车基础的知识。让刚开始接触直通车的你,对直通车扣费有清晰的了解。 直通车扣费的方式有这6种: 1、关键词出价 2、人群溢价 3、移动折扣 4、时间折扣 5、抢位助手 6、隐藏分 举个例子:A商…

    用户投稿 2023-05-15
  • 游戏联运系统搭建平台就给玩家提供了机会

    喜欢玩游戏的人,他们可以从游戏里寻找谋生的出路,可以在爱好里赚钱,游戏联运系统搭建平台就给玩家提供了这样的机会,玩家花钱买系统从而获取服务期内的一站式技术帮扶。虽说玩家也可以选择一切可靠自己的团队,但是做游戏联运,前期要办理各种证件资质是比较麻烦的,如果与创娱开源这类游戏联运系统搭建平台合作,他们会协助玩家搭建系统的资质申请,协助搭建平台,提供平台游戏对接,提供更专业的技术维护与培训,提供专业的运营实操培训,提供贴心的售后服务,确保客户平台24小时无忧运营,这不比自己团队单打独斗有安全感的多嘛?

    2022-06-08
  • 非诚勿扰空姐吴子恩(吴子恩空姐非诚勿扰)

    吴子恩任性坐航班驾驶舱回家海量自拍照被挖出 日前,一则“女子做飞机驾驶舱回家”的新闻在网络上传得沸沸扬扬,让不少网友直呼“任性!”也让不少买不到票的网友们羡慕嫉妒恨,近日有网友挖出该女子的详细信息,原来她是曾参与浙江卫视《非诚勿扰》的女嘉宾吴子恩,是香港某航空公司的一名空姐。 吴子恩因为长相甜美,身材高挑,还曾被网友称为《非诚勿扰》最美空姐,私下里的她喜欢自…

    用户投稿 2023-05-22