JsonObject (JSON 数据中的一个对象)

        JsonObject 是 Gson 库中的一个类,它表示 JSON 数据中的一个对象。以下是 JsonObject 类的一些常用方法及其详细解释和代码案例:

1.addProperty(String memberName, String value)

  • 向 JsonObject 中添加一个键值对,其中值是字符串。
  • 参数:memberName - JSON 对象中的键;value - 键对应的值。
JsonObject jsonObject = new JsonObject();
jsonObject.addProperty("name", "John Doe");

2.addProperty(String memberName, Number value)

  • 向 JsonObject 中添加一个键值对,其中值是数字。
  • 参数:memberName - JSON 对象中的键;value - 键对应的值。
jsonObject.addProperty("age", 30);

3.addProperty(String memberName, Boolean value)

  • 向 JsonObject 中添加一个键值对,其中值是布尔值。
  • 参数:memberName - JSON 对象中的键;value - 键对应的值。
jsonObject.addProperty("isEmployee", true);

4.add(String memberName, JsonElement value)

  • 向 JsonObject 中添加一个键值对,其中值是 JsonElement 类型。
  • 参数:memberName - JSON 对象中的键;value - 键对应的值。
JsonElement element = new JsonPrimitive("New York");
jsonObject.add("city", element);

5.get(String memberName)

  • 根据键名获取 JsonObject 中的 JsonElement
  • 参数:memberName - 要获取的键名。
  • 返回值:对应的 JsonElement 对象。
JsonElement nameElement = jsonObject.get("name");

6.getAsJsonPrimitive(String memberName)

  • 获取 JsonObject 中指定键名对应的 JsonPrimitive
  • 参数:memberName - 要获取的键名。
  • 返回值:JsonPrimitive 对象。
JsonPrimitive agePrimitive = jsonObject.getAsJsonPrimitive("age");

7.getAsJsonObject(String memberName)

  • 获取 JsonObject 中指定键名对应的嵌套 JsonObject
  • 参数:memberName - 要获取的键名。
  • 返回值:嵌套的 JsonObject 对象。
JsonObject addressObject = jsonObject.getAsJsonObject("address");

8.getAsJsonArray(String memberName)

  • 获取 JsonObject 中指定键名对应的 JsonArray
  • 参数:memberName - 要获取的键名。
  • 返回值:JsonArray 对象。
JsonArray hobbiesArray = jsonObject.getAsJsonArray("hobbies");

9.remove(String memberName)

  • 从 JsonObject 中移除指定的键值对。
  • 参数:memberName - 要移除的键名
jsonObject.remove("isEmployee");

10.toString()

  • 将 JsonObject 转换为 JSON 格式的字符串。
String jsonString = jsonObject.toString();

        这些方法提供了一种灵活的方式来创建和操作 JSON 对象,允许你添加、获取和移除键值对,以及将对象转换为字符串。上述代码示例展示了如何使用 JsonObject 来处理 JSON 数据,包括添加属性、获取值、创建嵌套对象和数组,以及转换为字符串。

11.构造方法

  • JSONObject():创建一个空的 JSONObject 对象。
  • JSONObject(String json):通过一个 JSON 字符串来创建 JSONObject 对象。

 12.键值对操作方法

  • put(String key, Object value):将键值对添加到 JSONObject 中。
  • get(String key):根据键获取对应的值。
  • remove(String key):移除指定键的键值对。
  • opt(String key):与 get 类似,但如果键不存在则返回 null 而不是抛出异常

13. 集合操作方法

  • keys():返回一个迭代器,用于遍历所有的键。
  • length():返回 JSONObject 中键值对的数量。

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

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

相关文章

YOLOv11实战宠物狗分类

本文采用YOLOv11作为核心算法框架,结合PyQt5构建用户界面,使用Python3进行开发。YOLOv11以其高效的特征提取能力,在多个图像分类任务中展现出卓越性能。本研究针对5种宠物狗数据集进行训练和优化,该数据集包含丰富的宠物狗图像样本…

电信网关配置管理系统 upload_channels.php 文件上传致RCE漏洞复现

0x01 产品简介 中国电信集团有限公司(英文名称“China Telecom”、简称“中国电信”)成立于2000年9月,是中国特大型国有通信企业、上海世博会全球合作伙伴。电信网关配置管理系统是一个用于管理和配置电信网络中网关设备的软件系统。它可以帮助网络管理员实现对网关设备的远…

Halcon LED灯带检测分享

目录 原图 检出图 示例代码 函数说明 代码 原图 检出图 示例代码 函数说明 LEDSensitivity : 0.6 LEDMinSize : 35 LEDMaxSize : 400 LEDMethod : 1 LEDType :1 LED (Image, LEDDefectTrans, LEDSensitivity, LEDMethod, LEDType, LEDMinSize, LEDMaxSize, R, G, B,…

Pytest-Bdd-Playwright 系列教程(7):使用测试代码生成辅助工具

Pytest-Bdd-Playwright 系列教程(7):测试代码生成辅助工具的使用 前言一、代码生成辅助工具的设计思路1.1 功能概览1.2 适用人群 二、如何使用 pytest-bdd 代码生成器三、代码生成器的实际应用场景3.1 初学者的学习和实践3.2 大规模功能测试3…

【每日刷题】Day152

【每日刷题】Day152 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. LCR 176. 判断是否为平衡二叉树 - 力扣(LeetCode) 2. 最大子矩阵_牛客题霸…

【Linux】vmlinux、vmlinuz、zImage、bzImage 的区别

vmlinux vmlinux 是静态链接的可执行文件,但是无法直接加载启动,并且是非压缩的。 zImage and bzImage zImage 和 bzImage 都是 linux 的镜像(image ),前者用于老系统,后者用于新系统,都采用了…

MaxK B:基于 LLM 大语言模型的知识库问答系统!

推荐一个基于大模型的企业级知识库问答系统,支持管理企业知识库、对话问答、RAG 等功能。 企业知识管理的智能化革新在数字化时代,知识管理对于企业的重要性不言而喻。 MaxK B是一个基于 LLM 大语言模型的知识库问答系统,正是为了解决这一挑…

Spring Boot 集成JWT实现Token验证详解

文章目录 Spring Boot 集成JWT实现Token验证详解一、引言二、JWT和Token基础1、什么是Token2、什么是JWT3、JWT的结构4、JWT的工作原理 三、集成JWT1、引入JWT依赖2、创建Token工具类3、创建拦截器4、注册拦截器 四、总结 Spring Boot 集成JWT实现Token验证详解 一、引言 在现…

前端CSS3 渐变详解

文章目录 CSS3 渐变详解一、引言二、CSS3 渐变基础1、线性渐变1.1、基本线性渐变1.2、改变渐变方向 2、径向渐变2.1、基本径向渐变2.2、设置径向渐变的中心 三、高级渐变技巧1、重复渐变1.1、重复线性渐变1.2、重复径向渐变 四、总结 CSS3 渐变详解 一、引言 在现代网页设计中…

openpyxl处理Excel模板,带格式拷贝行和数据填入

本文中用openpyxl操作Excell 模板,进行行拷贝和数据填充. 主要涉及单元格格式的拷贝,合并单元格的拷贝,行高和列宽的处理. 将模板表格分为三部分,头部,中间循环填充部分,尾部.模板参数中设置头部高度,循环部分高度,剩余为尾部. 拷贝时先拷贝填充头部 ,然后根据数据循环拷贝填…

IEEE 1588:电信网络的精确时间协议 (PTP)

IEEE 1588:电信网络的精确时间协议 IEEE 1588 PTP 概述PTP 协议特征同步类型IEEE 1588 PTP 角色IEEE 1588 PTP 的工作原理PTP 设备类型PTP 消息类型事件消息一般信息 PTP 时钟类规范PTP 配置文件 https://www.techplayon.com/ieee-1588-precision-time-protocol-ptp…

DataFrame

目录 一、创建DataFrame二、Sql语法三、DSL语法四、RDD与DataFrame互相转换 一、创建DataFrame 在SparkSql中SparkSession是创建DataFrame和执行Sql的入口,创建DataFrame有三种方式: 通过Spark的数据源进行创建 从一个存在的RDD进行转换 从Hive Tabl…

Redis 高并发分布式锁实战

目录 环境准备 一 . Redis 安装 二:Spring boot 项目准备 三:nginx 安装 四:Jmeter 下载和配置 案例实战 优化一:加 synchronized 锁 优化二:使用 redis 的 setnx 实现分布式锁 优化三:使用 Lua 脚本…

参数估计理论

估计理论的主要任务是在某种信号假设下,估算该信号中某个参数(比如幅度、相位、达到时间)的具体取值。 参数估计:先假定研究的问题具有某种数学模型, 如正态分布,二项分布,再用已知类别的学习样…

[vulnhub] DarkHole: 2

https://www.vulnhub.com/entry/darkhole-2,740/ 端口扫描主机发现 探测存活主机,185是靶机 # nmap -sP 192.168.75.0/24 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-08 18:02 CST Nmap scan report for 192.168.75.1 Host is up (0.…

【温度表达转化】

【温度表达转化】 C语言代码C代码Java代码Python代码 💐The Begin💐点点关注,收藏不迷路💐 利用公式 C5∗(F−32)/9 (其中C表示摄氏温度,F表示华氏温度) 进行计算转化。 输出 输出一行&#x…

【Promise】JS 异步之宏队列与微队列

文章目录 1 原理图2 说明3 相关面试题3.1 面试题13.2 面试题23.3 面试题33.4 面试题4 1 原理图 2 说明 JS 中用来存储待执行回调函数的队列包含 2 个不同特定的队列:宏队列和微队列。宏队列:用来保存待执行的宏任务(回调),比如:定…

【Linux】Linux入门实操——vim、目录结构、远程登录、重启注销

一、Linux 概述 1. 应用领域 服务器领域 linux在服务器领域是最强的,因为它免费、开源、稳定。 嵌入式领域 它的内核最小可以达到几百KB, 可根据需求对软件剪裁,近些年在嵌入式领域得到了很大的应用。 主要应用:机顶盒、数字电视、网络…

ubuntu下aarch64-linux-gnu(交叉编译) gdb/gdbserver(二)

ubuntu下aarch64-linux-gnu(交叉编译) gdb/gdbserver(二) 本教程作为gdb/gdbserver编译安装教程的一个补充,教会大家如何使用gdb/gdbserver进行远程调试。 如上图所示,我们需要将编译后的gdbserver上传至目标设备,其上…

Flutter错误: uses-sdk:minSdkVersion 16 cannot be smaller than version 21 declared

前言 今天要做蓝牙通信的功能,我使用了flutter_reactive_ble这个库,但是在运行的时候发现一下错误 Launching lib/main.dart on AQM AL10 in debug mode... /Users/macbook/Desktop/test/flutter/my_app/android/app/src/debug/AndroidManifest.xml Err…