java 操作JSON对象查找、删除、增加和修改等操作

对JSON的查找

格式: JSONObject.getString("value")

示例: info.getString("name")

删除JSON对象中的某个数据

格式: JSONObject.remove("value")

示例:info.remove("name")

增加和修改JSON对象中的某个数据节点

格式: JSONObject.put("key", "value");

示例:info.put("name", "李四");

更多操作,参考以下示例代码:

import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;import java.util.Map;public class Demo {public static void main(String[] args) {// 创建一个JSONObject对象JSONObject info = new JSONObject();printJSONObject(info);// JSON对象转字符串String infoStr = JSON.toJSONString(info);// 字符串转换为json类型JSONObject jsonObject = JSON.parseObject(infoStr);// 向json对象中添加key valueinfo.put("name", "张三");info.put("age", "18");info.put("地理", "70");info.put("英语", "60");printJSONObject(info);//从json中取出某个key的valueSystem.out.println(info.getString("name"));// json删除某个keySystem.out.println(info.remove("name"));printJSONObject(info);// 修改JSON对象中的某个数据节点info.put("name", "李四");printJSONObject(info);}private static void printJSONObject(JSONObject info) {// 输出json对象的值System.out.println("输出json对象的值:" + info);// 判断json是否为空System.out.println("判断json是否为空:" + info.isEmpty());JSONObject info2 = new JSONObject();// 判断json是否相等System.out.println("判断json是否相等:" + info.equals(info2));// 判断json是否存在keySystem.out.println("判断json是否存在key(name):" + info.containsKey("name"));// 判断json是否存在valueSystem.out.println("判断json是否存在value(张三):" + info.containsValue("张三"));// json长度System.out.println("json长度:" + info.size());// 循环遍历取出key,value   方式一for (String key : info.keySet()) {System.out.println("Set<String> : " + key + "--" + info.getString(key));}// 循环遍历取出key,value   方式二for (Map.Entry<String, Object> entry : info.entrySet()) {System.out.println("Set<Entry<String,Object>> : " + entry.getKey() + "--" + entry.getValue());}}
}

运行结果:

输出json对象的值:{}

判断json是否为空:true

判断json是否相等:true

判断json是否存在key(name):false

判断json是否存在value(张三):false

json长度:0

输出json对象的值:{"name":"张三","age":"18","地理":"70","英语":"60"}

判断json是否为空:false

判断json是否相等:false

判断json是否存在key(name):true

判断json是否存在value(张三):true

json长度:4

Set<String> : name--张三

Set<String> : age--18

Set<String> : 地理--70

Set<String> : 英语--60

Set<Entry<String,Object>> : name--张三

Set<Entry<String,Object>> : age--18

Set<Entry<String,Object>> : 地理--70

Set<Entry<String,Object>> : 英语--60

张三

张三

输出json对象的值:{"age":"18","地理":"70","英语":"60"}

判断json是否为空:false

判断json是否相等:false

判断json是否存在key(name):false

判断json是否存在value(张三):false

json长度:3

Set<String> : age--18

Set<String> : 地理--70

Set<String> : 英语--60

Set<Entry<String,Object>> : age--18

Set<Entry<String,Object>> : 地理--70

Set<Entry<String,Object>> : 英语--60

输出json对象的值:{"age":"18","地理":"70","英语":"60","name":"李四"}

判断json是否为空:false

判断json是否相等:false

判断json是否存在key(name):true

判断json是否存在value(张三):false

json长度:4

Set<String> : age--18

Set<String> : 地理--70

Set<String> : 英语--60

Set<String> : name--李四

Set<Entry<String,Object>> : age--18

Set<Entry<String,Object>> : 地理--70

Set<Entry<String,Object>> : 英语--60

Set<Entry<String,Object>> : name--李四

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

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

相关文章

2024腾讯云轻量应用服务器地域有什么区别?哪个好?

腾讯云轻量应用服务器地域如何选择&#xff1f;地域就近选择&#xff0c;北方选北京地域、南方选广州地域&#xff0c;华东地区选上海地域。广州上海北京地域有什么区别&#xff1f;哪个好&#xff1f;区别就是城市地理位置不同&#xff0c;其他的差不多&#xff0c;不区分好坏…

亲测有效,职场焦虑迷茫的测试人都需要的3大良方!

Hi&#xff0c;大家好&#xff0c;我是小马哥。日常大家聊天时经常提及一个关键词——大环境不好&#xff0c;这种感受像一股暗流&#xff0c;由此带来了很多变化。 有人在这股潮流中感到迷失&#xff0c;选择了躺平&#xff1b;而有的人则积极寻找应对方法&#xff0c;努力在…

Linux常用指令大全

一、基本命令 1、立即关机并重启动&#xff0c;执行如下命令&#xff1a; shutdown -r now 或者reboot 2、立即关机&#xff0c;执行如下命令&#xff1a; shutdown -h now 或者poweroff 3、等待2分钟关机并重启动&#xff0c;执行如下命令&#xff1a; shutdown -r…

深入理解Apache Commons Pool2池化技术

码到三十五 &#xff1a; 个人主页 心中有诗画&#xff0c;指尖舞代码&#xff0c;目光览世界&#xff0c;步履越千山&#xff0c;人间尽值得 ! 在现代软件开发中&#xff0c;为了提高性能和资源利用率&#xff0c;开发者们经常使用池化技术来管理那些创建和销毁代价较高的对…

LeetCode108题:将有序数组转换为二叉搜索树(python3)

一个容易想到的思路&#xff1a;使用 nums 中最靠近中心的位置作为整棵 BST 的根节点&#xff0c;确保左右子树节点数量平衡。随后递归构造 nums 中下标范围为 [0,mid−1]作为左子树&#xff0c;递归构造 nums 中下标范围为 [mid1,n−1]作为右子树。 # Definition for a binar…

I2C学习总结

i2c概述 I2C&#xff08;Inter-Intergreted Circuit&#xff09; 是一种串行通信协议&#xff0c;用于集成电路之间完成数据传输&#xff0c;i2c用广泛用以各种领域&#xff0c;包括电子设备、嵌入式系统、工业自动化等&#xff1b; i2c仅仅只是一个数据传输的协议&#xff0c…

【精解前端八股手写题】深入浅出柯里化

柯里化模板 柯里化是什么基本概念偏函数 柯里化有什么用场景1&#xff1a;拆分计算场景2&#xff1a;工厂函数 如何实现柯里化基础学习版&#xff1a;新人入门极简精华版&#xff1a;一行代码魔改升级版&#xff1a;闭包乱炖 柯里化是什么 基本概念 前端中的柯里化&#xff0…

逻辑斯特 + 神经网络梯度下降公式推导 + 向量化

全部推导来自吴恩达老师的视频课&#xff0c;下面仅作整理 逻辑斯特 神经网络

Vue+OpenLayers7入门到实战:使用webgl图层叠加超大量Point点要素,解决叠加超过一百万数据量点位导致浏览器卡住变慢的问题

返回《Vue+OpenLayers7》专栏目录:Vue+OpenLayers7 前言 本章介绍如何使用OpenLayers7在解决地图上叠加超过几千以上要素点就开始变慢,一万以上的要素点的时候,浏览器页面就开始卡顿或直接卡死,甚至浏览器会弹出是否等待页面加载的提示。 这时候要怎么优化?OpenLayers官…

win10安装Ubuntu22.04LTS及深度学习相关配置详细教学

由于之前Ubuntu系统硬盘空间分配的不够&#xff0c;又去看了一下发现扩容很很麻烦。加以发现自己前面安装的深度学习环境版本与实际要用的不符&#xff0c;所以当机立断决定直接重装系统。 Ubuntu系统安装 参考视频&#xff1a;一看就会&#xff01;8分钟真机安装【Ubuntu/Wi…

JWT原理

JWT 介绍 JWT&#xff08;JSON Web Token&#xff09;是一个开放标准&#xff08;RFC 7519&#xff09;&#xff0c;它定义了一种简洁的、自包含的方法用于通信双方之间以 JSON 对象的形式安全地传输信息。这种信息可以被验证和信任&#xff0c;因为它是数字签名的。JWT通常用于…

Android Selinux详解[四]--新增服务标签相关

在工作过程中&#xff0c;SElinux常用的有以下几个文件可用于新增标签 可用于加标签的文件名含义对应的声明文件名(一般会声明的地方&#xff0c;根本上放哪里都可以)file_contexts给 文件/目录/节点 新增标签file.tegenfs_contexts给节点新增标签&#xff0c;与上一个不同的是…

SpringBoot总结-基于SpringBoot实现Web开发

原创作者&#xff1a;田超凡&#xff08;程序员田宝宝&#xff09; 版权所有&#xff0c;转载请注明原作者&#xff0c;严禁复制转载 3.1、静态资源访问 在我们开发Web应用的时候&#xff0c;需要引用大量的js、css、图片等静态资源。 默认配置 Spring Boot默认提供静态资…

第二证券|沪指窄幅震荡跌0.26%,半导体概念走强,保险板块跌幅居前

13日早盘&#xff0c;沪深两市窄幅震动&#xff0c;三大指数均小幅跌落。盘面上&#xff0c;人工智能方向团体反弹&#xff0c;半导体个股走势活跃。 到午间收盘&#xff0c;沪指跌0.26%&#xff0c;报3047.85点&#xff1b;深成指跌0.15%&#xff0c;报9615.92点&#xff1b;…

ruoyi-vue插件集成websocket

链接&#xff1a;插件集成 | RuoYi WebSocketServer.java&#xff1a;补充代码 /*** 此为广播消息* param message 消息内容*/public void sendAllMessage(String message) {LOGGER.info("【websocket.sendAllMessage】广播消息:"message);try {for(String sessionI…

工作中Promise用法总结

工作中Promise用法总结&#xff0c;后面会持续更新觉得有意义的。 1.构造Promise 一般情况下代码是这样的&#xff1a; async function fn() {return new Promise((resolve, reject) > {let list []resolve(list)} }await fn()最后的返回值&#xff0c;如果promise的状态…

谈谈杭州某小公司面试的经历

#面试#本人bg211本&#xff0c;一段实习&#xff0c;前几天面了杭州某小厂公司&#xff0c;直接给我干无语了&#xff01; 1、先介绍介绍你自己&#xff0c;我说了我的一个情况。 2、没获奖和竞赛经历吗&#xff1f;我说确实没有呢&#xff0c;面试官叹气了一下&#xff0c;只是…

300分钟吃透分布式缓存-27讲:Redis是如何进行主从复制的?

Redis 复制原理 为了避免单点故障&#xff0c;数据存储需要进行多副本构建。同时由于 Redis 的核心操作是单线程模型的&#xff0c;单个 Redis 实例能处理的请求 TPS 有限。因此 Redis 自面世起&#xff0c;基本就提供了复制功能&#xff0c;而且对复制策略不断进行优化。 通…

基于SWOT的智能手机企业财务战略研究1.62

摘 要 近些年&#xff0c;网络技术日新月异&#xff0c;智能手机深受消费者喜爱&#xff0c;人们通过网络&#xff0c;手机应用&#xff0c;可以极大地方便人们学习&#xff0c;工作等等。由于国家对电信行业的大力支持&#xff0c;中国消费者群体逐步成为最具潜力的手机购买者…

十六、接口隔离原则、反射、依赖注入

接口隔离原则、反射、特性、依赖注入 接口隔离原则 客户端不应该依赖它不需要的接口&#xff1b;一个类对另一个类的依赖应该建立在最小的接口上。 五种原则当中的i 上一章中的接口&#xff0c;即契约。 契约就是在说两件事&#xff0c;甲方说自己不会多要&#xff0c;乙方会在…