【python内置】04learn_json

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# author:albert time:2019/1/22

import json


# 一、json写操作  dump  dumps
# 将dict转化为str
# ① dumps 及常用参数使用 将字典类型数据转化为字符串,存在内存中或变量中

dicts = {'b1':'1','a2':'2','c3':[1,2,3],'z':{'z1':1,'z2':2},'d':'d','k':'中文'}

# 普通转化
dicts1 = json.dumps(dicts)
print(dicts1)

# sort_keys排序
dicts2 = json.dumps(dicts, sort_keys=True)
print(dicts2)

# indent格式化缩进
dicts3 = json.dumps(dicts, sort_keys=True, indent=3)
print(dicts3)

# separators去掉逗号和冒号后的空格
dicts4 = json.dumps(dicts, sort_keys=True, separators=(',',':'))
print(dicts4)

# skipkeys跳过不符合规则的key值  不常用
# dicts.update({(1,):'12'})
# dicts5 = json.dumps(dicts)
dicts5 = json.dumps(dicts, skipkeys=True)
print(dicts5)

# ensure_ascii  不常用
dicts6 = json.dumps(dicts, ensure_ascii=False)
print(dicts6)

# ② dump  参数基本和dumps相同,只是多了一个fp文件操作对象,即把转化后的字符串写入到文件
with open(r'E:\00_Project\test-tech\python学习\Module\Inner\test.json', 'w', encoding='UTF-8') as f:
    dicts7 = json.dump(dicts, f, sort_keys=True, separators=(',',':'), indent=4, ensure_ascii=False)

# 二、json读操作 load loads
# 将str转化为dict  参数不常用,不做学习
# ① loads 将json字符串转(引号必须为双引号,否则会报错)化为字段
string = '{"b1":"1","a2":"2","c3":[1,2,3],"z":{"z1":1,"z2":2},"d":"d","k":"中文"}'

str1 = json.loads(string)
print(str1)
print(type(str1))

# ② loads
with open(r'E:\00_Project\test-tech\python学习\Module\Inner\test.json', 'r', encoding='utf-8') as fp:
    str2 = json.load(fp)
    print(str2)
    print(type(str2))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值