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

相关推荐
公贵买其鹿25 分钟前
List深拷贝后,数据还是被串改
java
PieroPc27 分钟前
Python 写的 智慧记 进销存 辅助 程序 导入导出 excel 可打印
开发语言·python·excel
2401_857439693 小时前
SSM 架构下 Vue 电脑测评系统:为电脑性能评估赋能
开发语言·php
SoraLuna3 小时前
「Mac畅玩鸿蒙与硬件47」UI互动应用篇24 - 虚拟音乐控制台
开发语言·macos·ui·华为·harmonyos
xlsw_4 小时前
java全栈day20--Web后端实战(Mybatis基础2)
java·开发语言·mybatis
神仙别闹4 小时前
基于java的改良版超级玛丽小游戏
java
Dream_Snowar5 小时前
速通Python 第三节
开发语言·python
黄油饼卷咖喱鸡就味增汤拌孜然羊肉炒饭5 小时前
SpringBoot如何实现缓存预热?
java·spring boot·spring·缓存·程序员
暮湫5 小时前
泛型(2)
java
超爱吃士力架5 小时前
邀请逻辑
java·linux·后端