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

相关推荐
不想写bug呀1 小时前
多线程案例——单例模式
java·开发语言·单例模式
心平愈三千疾2 小时前
通俗理解JVM细节-面试篇
java·jvm·数据库·面试
我不会写代码njdjnssj2 小时前
网络编程 TCP UDP
java·开发语言·jvm
第1缕阳光2 小时前
Java垃圾回收机制和三色标记算法
java·jvm
funnyZpC2 小时前
好用的文档工具👉smart-doc
java
一只叫煤球的猫2 小时前
🔥 同事混用@Transactional和TransactionTemplate被我怼了,三种事务管理到底怎么选?
java·spring boot·后端
李少兄9 天前
解决OSS存储桶未创建导致的XML错误
xml·开发语言·python
阿蒙Amon9 天前
《C#图解教程 第5版》深度推荐
开发语言·c#
学Linux的语莫9 天前
python基础语法
开发语言·python
暖馒9 天前
C#委托与事件的区别
开发语言·c#