JSON 数据的写入

json.dump    将dict数据写入json文件中
json.dumps    对数据进行编码,将python中的字典 转换为 字符串
代码如下:
import json
#字典
data = {
        'id': '334455',
        '姓名': 'MakerLiu',
        '日期': '2023/4/15',
        '地点': '深圳'
}
with open('datas.json', 'w', encoding='utf-8') as f:
    json.dump(data, f, ensure_ascii=False,indent=4)
#ensure_ascii=False 表示原文写入
#indent=4,表示美化json格式,缩进为4个空格

将对象转换为string,这样更容易传输
data2=json.dumps(data,ensure_ascii=False,indent=4)
print(data2)
print(type(data2))


方法中每个参数的作用
参数                                    作用
skipkeys                    如果 skipkeys 是 true (默认为 False),那么那些不是基本对象(包括 str, int、                                            float、bool、None)的字典的键会被跳过;否则引发一个 TypeError。

ensure_ascii            如果 ensure_ascii 是 true (即默认值),输出保证将所有输入的非 ASCII 字符转义。如果                                     ensure_ascii 是 false,这些字符会原样输出。

check_circular        如果 check_circular 是为假值 (默认为 True),那么容器类型的循环引用检验会被跳过并且循                                    环引用会引发一个 OverflowError (或者更糟的情况)。

allow_nan                    如果 allow_nan 是 false(默认为 True),那么在对严格 JSON 规格范围外的 float 类型                                    值(nan、inf 和 -inf)进行序列化时会引发一个 ValueError。如果 allow_nan 是 true,                                    则使用它们的 JavaScript 等价形式(NaN、Infinity 和 -Infinity)。

indent                        如果 indent 是一个非负整数或者字符串,那么 JSON 数组元素和对象成员会被美化输出为该值指                                    定的缩进等级。如果缩进等级为零、负数或者 "",则只会添加换行符。None(默认值)选择最紧凑                                        的表达。使用一个正整数会让每一层缩进同样数量的空格。如果 *indent* 是一个字符串(比如                                     "\t"),那个字符串会被用于缩进每一层。

separators                当指定时,separators 应当是一个 (item_separator, key_separator) 元组。当                                                 indent 为 None 时,默认值取 (', ', ': '),否则取 (',', ': ')。为了得到最紧凑的                                         JSON 表达式,你应该指定其为 (',', ')
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

渊途

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值