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--李四

相关推荐
六个九十度2 小时前
用python脚本访问被网关隔离的嵌入式设备
开发语言·python
酷酷的身影2 小时前
Drivers/LedManager.cs
开发语言·php
卓怡学长2 小时前
w266基于spring boot + vue 圣地延安美食乐享系统
java·数据库·vue.js·spring boot·spring·intellij-idea
小樱花的樱花2 小时前
Linux 线程的创建
linux·c语言·开发语言
xiaoshuaishuai82 小时前
C# AI实现PR处理、单元测试
开发语言·c#·log4j
C++、Java和Python的菜鸟2 小时前
第7章 Java高级技术
java·开发语言
LONGZHIQIN2 小时前
C#基础复习笔记
开发语言·笔记·c#
程序员佳佳3 小时前
模型网关灰度不是调百分比:把放量、观测和回滚做成账本
java·数据库·人工智能·redis·gpt·aigc·embedding
可靠的仙人掌3 小时前
SAC(Soft Actor-Critic)算法底座
开发语言·算法·php
学逆向的3 小时前
汇编——数据存储模式
开发语言·汇编·网络安全