JSON字符串中获取一个特定字段的值

JSON字符串中获取一个特定字段的值

  • 一、方式一,引用gson工具
  • 二、方式二,使用jackson
  • 三、方式三,使用jackson转换Object
  • 四、方式四,使用hutool,获取报文数组数据

一、方式一,引用gson工具

测试报文:

{"account":"zhangsan","password":"123456"
}

引入pom

<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.6.2</version>
</dependency>

代码

package com;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;public class Test {public static void main(String[] args) {String json = "{\n" +"\t\"account\":\"zhangsan\",\n" +"\t\"password\":\"123456\"\n" +"}";JsonParser jsonParser = new JsonParser();JsonElement jsonElement = jsonParser.parse(json);JsonObject jsonObject = jsonElement.getAsJsonObject();String fieldValue = jsonObject.get("account").getAsString();System.out.println(fieldValue);}
}

在这里插入图片描述

二、方式二,使用jackson

测试报文:

{"account":"zhangsan","password":"123456","flag":"true"
}

代码

package com;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;public class Test {public static void main(String[] args) throws JsonProcessingException {String json = "{\n" +"\t\"account\":\"zhangsan\",\n" +"\t\"password\":\"123456\",\n" +"\t\"flag\":\"true\"\n" +"}";ObjectMapper objectMapper = new ObjectMapper();JsonNode jsonNode = objectMapper.readTree(json);String account = jsonNode.get("account").asText();int password = jsonNode.get("password").asInt();boolean flag = jsonNode.get("flag").asBoolean();System.out.println(account);System.out.println(password);System.out.println(flag);}
}

在这里插入图片描述

三、方式三,使用jackson转换Object

测试报文:

{"account":"zhangsan","password":"123456"
}

代码

package com;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;public class Test {public static void main(String[] args) throws JsonProcessingException {String json = "{\n" +"\t\"account\":\"zhangsan\",\n" +"\t\"password\":\"123456\"\n" +"}";ObjectMapper objectMapper = new ObjectMapper();Login login = objectMapper.readValue(json, Test.Login.class);System.out.println(login.toString());}public static class Login{private String account;private String password;public String getAccount() {return account;}public void setAccount(String account) {this.account = account;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Overridepublic String toString() {return "Login{" +"account='" + account + '\'' +", password='" + password + '\'' +'}';}}
}

在这里插入图片描述

四、方式四,使用hutool,获取报文数组数据

测试报文:

{"code":"0","message":"","data":[{"account":"zhangsan","password":"123456"}]
}

引入pom

<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>4.1.19</version>
</dependency>

代码

package com;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import com.fasterxml.jackson.core.JsonProcessingException;public class Test {public static void main(String[] args) throws JsonProcessingException {String json = "{\n" +"\t\"code\":\"0\",\n" +"\t\"message\":\"\",\n" +"\t\"data\":[{\n" +"\t\t\"account\":\"zhangsan\",\n" +"\t\t\"password\":\"123456\"\n" +"\t}]\n" +"}";JSONObject jsonObject = new JSONObject(json);JSONArray jsonArray = jsonObject.getJSONArray("data");JSONObject resultObject = jsonArray.getJSONObject(0);String account = resultObject.getStr("account");System.out.println(account);}
}

在这里插入图片描述

OK,就这些吧。

有什么不对的还望指正,书写不易,觉得有帮助就点个赞吧!☺☺☺

参考链接:https://www.cnblogs.com/xbinbin/p/17647956.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/800246.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

表单流程管理系统:推进数字化转型理想助手

在数字化转型新时代&#xff0c;谁拥有理想的软件平台助手&#xff0c;谁就能在流程化管理新进程中迈出坚实的步伐。面对激烈的市场竞争&#xff0c;低代码技术平台及表单流程管理系统正在广阔的市场环境中越扎越稳&#xff0c;成为助力企业数字化转型升级的重要利器设备。想要…

使用PyCharm安装并运行python程序(小白专属教程,建议收藏)

本文将介绍如何使用pycharm安装python环境并运行第一个python程序&#xff0c;适合刚接触python的童鞋参考。 Python的安装 python是一门跨平台的语言&#xff0c;如Windows、Linux、MacOS等平台都能完美兼容&#xff0c;以下只对Windows平台安装做详细介绍。 &#xff11;.…

开创加密资产新纪元:深度解析ERC-314协议

随着加密资产市场的不断发展和区块链技术的日益成熟&#xff0c;新的协议和标准不断涌现&#xff0c;其中包括了ERC-314协议。本文将深入分析ERC-314协议的特点、功能以及对加密资产市场可能产生的影响。 1. ERC-314协议简介 ERC-314协议是一项建立在以太坊区块链上的新提案&a…

鲁大师2024年Q1季度电动车报告:新老品牌角逐电自市场,九号699分夺魁

鲁大师2024年Q1季报正式发布&#xff0c;本次季报包含电动车智能排行&#xff0c;测试的车型为市面上主流品牌的主流车型&#xff0c;共计12款&#xff0c;全部按照评测维度更广、更专业的鲁大师电动车智慧评测2.0进行评分&#xff0c;测试的成绩均来自于鲁大师智慧硬件实验室。…

新规解读 | 被网信办豁免数据出境申报义务的企业,还需要做什么?

为了促进数据依法有序自由流动&#xff0c;激发数据要素价值&#xff0c;扩大高水平对外开放&#xff0c;《促进和规范数据跨境流动规定》&#xff08;以下简称《规定》&#xff09;对数据出境安全评估、个人信息出境标准合同、个人信息保护认证等数据出境制度作出优化调整。 …

QAnything-1.3.0,支持纯python笔记本运行,支持混合检索

QAnything 1.3.0 更新了&#xff0c;这次带来两个主要功能&#xff0c;一个是纯python的安装&#xff0c;另一个是混合检索。更多详情见&#xff1a; https://github.com/netease-youdao/QAnything/releases 纯python安装 我们刚发布qanything开源的时候&#xff0c;希望用户…

冯喜运:4.8晚间黄金原油走势分析及操作建议

黄金走势分析&#xff1a;      金价在亚洲大国市场开盘后突然飙升约30美元至历史新高&#xff0c;触发了交易员的积极反应。这一行情主要是因为亚洲大国央行持续增加黄金储备的预期所致&#xff0c;而且市场对全球央行今年可能的大规模黄金购买提前建立了多头头寸。数据显…

数据转换 | Matlab基于GADF格拉姆角差场一维数据转二维图像方法

目录 效果分析基本介绍程序设计参考资料获取方式 效果分析 基本介绍 GADF&#xff08;Gramian Angular Difference Field&#xff09;是一种将时间序列数据转换为二维图像的方法之一。它可以用于提取时间序列数据的特征&#xff0c;并可应用于各种领域&#xff0c;如时间序列分…

【深入理解Java IO流0x05】Java缓冲流:为提高IO效率而生

1. 引言 我们都知道&#xff0c;内存与硬盘的交互是比较耗时的&#xff0c;因此适当得减少IO的操作次数&#xff0c;能提升整体的效率。 Java 的缓冲流是对字节流和字符流的一种封装&#xff08;装饰器模式&#xff0c;关于IO流中的一些设计模式&#xff0c;后续会再出博客来讲…

详解简单的shell脚本 --- 命令行解释器【Linux后端开发】

首先附上完整代码 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <sys/types.h> #include <sys/wait.h> //命令行解释器 //shell 运行原理&#xff1a;通过让子进程执行命令&#xff0c;父进…

谷歌浏览器插件开发速成指南:弹窗

诸神缄默不语-个人CSDN博文目录 本文介绍谷歌浏览器插件开发的入门教程&#xff0c;阅读完本文后应该就能开发一个简单的“hello world”插件&#xff0c;效果是出现写有“Hello Extensions”的弹窗。 作为系列文章的第一篇&#xff0c;本文还希望读者阅读后能够简要了解在此基…

电影特效渲染为什么费时间?「瑞云渲染」

影视特效渲染过程通常耗时且资源密集&#xff0c;因为它涉及处理复杂的视觉元素和光影效果。瑞云渲染通过云技术提供解决方案&#xff0c;加快渲染速度并降低成本。简而言之&#xff0c;电影特效渲染之所以费时&#xff0c;是因为其对计算机资源的高需求。 电影特效渲染费时间原…

Redis的三种部署方案

文章目录 单机模式主从复制哨兵模式分片集群 在Redis中提供的集群方案总共有三种&#xff1a;单机模式&#xff0c;主从复制集群、哨兵模式&#xff0c;Redis分片集群 单机模式 Redis 只运行在一台服务器上&#xff0c;并且所有的数据都存储在这一台服务器的内存中。 主从复制…

Django之REST Client插件

一、接口测试工具介绍 在开发前后端分离项目时,无论是开发后端,还是前端,基本都是需要测试API接口的内容,而目前我们需要开发遵循RESTFul规范的项目,也是必然的(自己不开发前端页面)。 在网上有很多这样的工具,常用的postman,但还是需要下载安装。在这我们介绍一个VSCod…

【小白学机器学习12】假设检验之3:t 检验 (t检验量,t分布,查t值表等)

目录 1 t 检验的定义 1.1 来自维基百科和百度百科 1.2 别名 1.3 和其他检验的区别 2 适用情况&#xff1a; 2.1 关于样本情况 2.2 适合检查的情况 2.2.1 单样本均值检验&#xff08;One-sample t-test&#xff09; 2.2.2 两独立样本均值检验&#xff08;Independent …

hydra九头蛇

一、hydra简介 Hydra是一款非常强大的暴力破解工具&#xff0c;它是由著名的黑客组织THC开发的一款开源暴力破解工具。Hydra是一个验证性质的工具&#xff0c;主要目的是&#xff1a;展示安全研究人员从远程获取一个系统认证权限。 目前该工具支持以下协议的爆破&#xff1a; A…

【网站项目】农业信息管理系统

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

[C#]OpenCvSharp改变图像的对比度和亮度

目的 访问像素值mat.At<T>(y,x) 用0初始化矩阵Mat.Zeros 饱和操作SaturateCast.ToByte 亮度和对比度调整 g(x)αf(x)β 用α(>0)和β一般称作增益(gain)和偏置(bias)&#xff0c;分别控制对比度和亮度 把f(x)看成源图像像素&#xff0c;把g(x)看成输出图像像素…

身份证实名认证接口的价格一般是多少呢?基于PHP身份核验接口

身份证实名认证接口分为身份证二要素、三要素、三要素人像核验接口&#xff0c;被广泛的应用于婚恋、交友、电商等等一系列行业领域&#xff0c;身份证实名认证需要实时数据&#xff0c;对于数据源来说也需要可靠&#xff0c;那么&#xff0c;身份证实名认证的价格是不是很贵呢…

小小算式(1 + 2) * (3 + 4)背后的大道理

目录 前缀表示法&#xff08;波兰表达式&#xff09; 中缀表达法 后缀表达法&#xff08;逆波兰表达式&#xff09; 三种表达法的相互转换 练习&#xff1a;逆波兰表达式求值 前缀表示法&#xff08;波兰表达式&#xff09; 波兰表示法&#xff08;英语&#xff1a;Polis…