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

相关推荐
A.A呐4 小时前
【C++第二十九章】IO流
开发语言·c++
椰猫子4 小时前
Java:异常(exception)
java·开发语言
lifewange4 小时前
pytest-类中测试方法、多文件批量执行
开发语言·python·pytest
cmpxr_4 小时前
【C】原码和补码以及环形坐标取模算法
c语言·开发语言·算法
2401_827499994 小时前
python项目实战09-AI智能伴侣(ai_partner_5-6)
开发语言·python
PD我是你的真爱粉4 小时前
MCP 协议详解:从架构、工作流到 Python 技术栈落地
开发语言·python·架构
win x5 小时前
Redis 使用~如何在Java中连接使用redis
java·数据库·redis
星晨雪海5 小时前
基于 @Resource 的支付 Service 多实现类完整示例
java·开发语言
阿维的博客日记5 小时前
什么是逃逸分析
java·juc
ACP广源盛139246256735 小时前
破局 Type‑C 切换器痛点@ACP#GSV6155+LH3828/GSV2221+LH3828 黄金方案
c语言·开发语言·网络·人工智能·嵌入式硬件·计算机外设·电脑