python编辑json文件

这篇博客介绍了如何使用Python对JSON文件进行简单修改,包括改变JSON对象的值和数组对象中的值。通过示例代码展示了如何更新JSON文件中的'code'和'imp'字段的'deeplink'值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考文章:https://blog.youkuaiyun.com/qq_38343151/article/details/104865640https://blog.youkuaiyun.com/qq_38343151/article/details/104865640

目录

一、简单json文件的修改

 二、修改json中数组对象中的值

 笔记


一、简单json文件的修改

编辑前的文件,code值为200

编辑后的文件,code值为404

代码:

import json


# 获取json里面数据
def get_json_data():
    with open('D:\z\mytest\htest.json', 'rb') as f:  # 使用只读模型,并定义名称为f
        params = json.load(f)  # 加载json文件
        params["code"] = "404"  # code字段对应的值修改为404
        print("params", params)  # 打印
    return params  # 返回修改后的内容


# 写入json文件
def write_json_data(params):
    # 使用写模式,名称定义为r
    #其中路径如果和读json方法中的名称不一致,会重新创建一个名称为该方法中写的文件名
    with open('D:\z\mytest\htest.json', 'w') as r:
        # 将dict写入名称为r的文件中
        json.dump(params, r)


# 调用两个函数,更新内容
the_revised_dict = get_json_data()
write_json_data(the_revised_dict)

 二、修改json中数组对象中的值

修改前,imp字段中的deeplink的值为before

修改后,imp字段中的deeplink的值为end

源代码:

import json


# 获取json里面数据
def get_json_data():
    with open('D:\z\mytest\kkkl.json', 'rb') as f:  # 使用只读模型,并定义名称为f
        params = json.load(f)  # 加载json文件中的内容给params
        # params["code"] = "505"
        params["imp"][0]["deeplink"] = "end"  # imp字段对应的deeplink的值修改为end
        print("修改后的值", params["imp"][0]["deeplink"])  # 打印
    return params  # 返回修改后的内容


# 写入json文件# 使用写模式,名称定义为r
def write_json_data(params):
    with open('D:\z\mytest\kkkl.json', 'w') as r:
        # 将params写入名称为r的文件中
        json.dump(params, r)


# 调用两个函数,更新内容
the_revised_dict = get_json_data()
write_json_data(the_revised_dict)

 笔记

打印  params["imp"];params["imp"][0];params["imp"][0]["deeplink"]时控制台输出的值的区别

 

 

### 使用 PythonJSON 文件进行读写和修改 #### 1. 写入 JSON 文件 可以通过 `json.dump()` 函数将 Python 字典或其他可序列化的对象保存到 JSON 文件中。以下是具体实现方式: ```python import json filename = 'example.json' data = {'name': 'Alice', 'age': 25, 'city': 'Beijing'} # 使用 with open 自动管理文件资源 with open(filename, 'w', encoding='utf-8') as file: json.dump(data, file, ensure_ascii=False, indent=2) # 设置参数以便更友好地展示数据[^3] ``` 上述代码通过指定 `ensure_ascii=False` 参数允许中文字符正常显示,而 `indent=2` 则定义了输出的缩进级别。 --- #### 2. 读取 JSON 文件 可以利用 `json.load()` 方法从 JSON 文件加载数据至 Python 的字典形式。如下所示: ```python import json filename = 'example.json' # 打开并读取 JSON 数据 with open(filename, 'r', encoding='utf-8') as file: data = json.load(file) print(data) # 输出读取的内容 ``` 此过程会解析 JSON 文件中的内容,并将其转化为对应的 Python 数据结构。 --- #### 3. 修改 JSON 文件 如果需要对已有的 JSON 文件进行更新,则需先读取其内容,在内存中完成修改后再重新写回文件。下面是一个完整的例子: ```python import json filename = 'example.json' # 步骤 1:读取现有 JSON 数据 with open(filename, 'r', encoding='utf-8') as file: data = json.load(file) # 步骤 2:在内存中修改数据 data['age'] += 1 # 增加年龄字段值 data['hobby'] = ['reading', 'traveling'] # 添加新键值对 # 步骤 3:将修改后的数据写回到原文件 with open(filename, 'w', encoding='utf-8') as file: json.dump(data, file, ensure_ascii=False, indent=2)[^3] ``` 在此过程中,原始文件会被覆盖存储新的内容。 --- #### 总结 通过对 JSON 文件的读取、写入以及修改操作,能够灵活管理和维护结构化数据。这些功能广泛应用于配置文件处理、API 数据交互等领域[^4]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值