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

对JSON的查找

格式: JSONObject.getString("value")

示例: info.getString("name")

删除JSON对象中的某个数据

格式: JSONObject.remove("value")

示例:info.remove("name")

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

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

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

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

java 复制代码
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 value
        info.put("name", "张三");
        info.put("age", "18");
        info.put("地理", "70");
        info.put("英语", "60");

        printJSONObject(info);

        //从json中取出某个key的value
        System.out.println(info.getString("name"));

        // json删除某个key
        System.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是否存在key
        System.out.println("判断json是否存在key(name):" + info.containsKey("name"));

        // 判断json是否存在value
        System.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--李四

相关推荐
云烟成雨TD11 小时前
Spring AI Alibaba 1.x 系列【6】ReactAgent 同步执行 & 流式执行
java·人工智能·spring
Wenweno0o11 小时前
0基础Go语言Eino框架智能体实战-chatModel
开发语言·后端·golang
于慨11 小时前
Lambda 表达式、方法引用(Method Reference)语法
java·前端·servlet
swg32132111 小时前
Spring Boot 3.X Oauth2 认证服务与资源服务
java·spring boot·后端
gelald11 小时前
SpringBoot - 自动配置原理
java·spring boot·后端
殷紫川11 小时前
深入理解 AQS:从架构到实现,解锁 Java 并发编程的核心密钥
java
一轮弯弯的明月12 小时前
贝尔数求集合划分方案总数
java·笔记·蓝桥杯·学习心得
chenjingming66612 小时前
jmeter线程组设置以及串行和并行设置
java·开发语言·jmeter
殷紫川12 小时前
深入拆解 Java volatile:从内存屏障到无锁编程的实战指南
java
eddieHoo12 小时前
查看 Tomcat 的堆内存参数
java·tomcat