#!/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))
【python内置】04learn_json
最新推荐文章于 2023-11-28 14:33:40 发布