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

news/2024/10/17 16:30:08/

        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 数据,包括添加属性、获取值、创建嵌套对象和数组,以及转换为字符串。


http://www.ppmy.cn/news/1539747.html

相关文章

Centos 7.5上配置mailx发送邮件

客户环境中有需要监视的URL页面,获取status状态码,记录到对应日志文件中。 如果无法访问出现其他status状态码则发送到指定邮箱中。 #!/bin/bash# 要监控的URL URL"http://example.com"# 期望的状态码 EXPECTED_STATUS200# 日志文件路径 LOG…

Spring Boot环境下的图书进销存管理系统

3系统分析 3.1可行性分析 通过对本图书进销存管理系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本图书进销存管理系统采用Spring Boot框架,JA…

conda新建环境中存在大量ros相关python包

1 问题现象 新建的conda环境,执行pip list,出现了大量的ros相关包,环境不纯净。重新安装anaconda没有用。 2 问题原因 2.1 执行python -m site 执行python -m site获得以下结果 其中sys.path包含了’/opt/ros/noetic/lib/python3/dist-…

鸿蒙开发(NEXT/API 12)【拦截器 (C/C++)】远场通信场景

场景介绍 请求拦截器。可用于拦截请求&#xff0c;修改Rcp_Request请求相关内容&#xff0c;或者检查本地缓存直接返回响应等等。 开发步骤 CPP侧导入模块。 #include "RemoteCommunicationKit/rcp.h" #include <cstdlib> #include <stdio.h> #inclu…

查看 Git 的配置信息

查看 Git 的配置信息 1. 查看所有配置项 git config --list这个命令会显示所有级别&#xff08;系统级、全局级和本地级&#xff09;的 Git 配置项。 2. 查看全局配置 git config --global --list仅显示全局范围内的配置项&#xff0c;这些配置通常存储在 ~/.gitconfig 或 …

python+Mosh网课笔记01

太久没写python代码了&#xff0c;学机器学习重新拾起python&#xff0c;笔记比较简陋。 参考&#xff1a;mosh的python教程 一、入门 用vscode编写代码。下载了autopep8插件用于代码格式化。下载了pylint插件用于代码报错提示。 二、基本类型 int&#xff0c;bool&#x…

「爱码士找Bug」第七弹

用Python实现一条SQL语句中只有前两个字段是变化的&#xff0c;而其他字段都是固定值。代码如下&#xff1a; # 假设固定值字段 fixed_columns ["column3", "column4"] # 假设有更多固定列 fixed_values ["fixed_value3", "fixed_value…

【openwrt-21.02】T750 openwrt 概率出现nat46_ipv4_input+0x90/0x4b4问题分析及解决方案

Openwrt版本 NAME="OpenWrt" VERSION="21.02-SNAPSHOT" ID="openwrt" ID_LIKE="lede openwrt" PRETTY_NAME="OpenWrt 21.02-SNAPSHOT" VERSION_ID="21.02-snapshot" HOME_URL="https://openwrt.org/" …