python学习笔记8:json

1. dict与str之间转换

1.1. dict -> str

>>> import json
>>> d0 = {1:'a', 2:{'2k0':'2v0', '2k1':'2v1'}}
>>> s0 = json.dumps(d0) # 将字典转为字符串
>>> s0
'{"1": "a", "2":{"2k0":"2v0", "2k1":"2v1"}}'
>>> type(s0)
<class 'str'>

1.2 str -> dict

>>> d1 = json.loads(s0) # 将字符串转为字典
>>> d1
{1:'a', 2:{'2k0':'2v0', '2k1':'2v1'}}
>>> type(d1)
<class 'dict'>

2. dict与文件间转换

注意,json操作文件时,操作对象是文件句柄,而不是文件本身。

2.1. dict -> fid

>>> with open('d0.json', 'w') as fid:
...     json.dump(d0, fid, indent=4) # 将字典写入到文件中
...
>>> for line in open('d0.json', 'r').readlines():
...     print(line)
...
{
"1": "a",
"2": {
"2k0":"2v0",
"2k1":"2v1"
}
}

或者在dump参数中直接open文件

json.dump(d0, open('d0.json', 'w'), indent=4)

2.2. fid -> dict

>>> with open('d0.json', 'r') as fid:
...     d1 = json.load(fid) # 将json文件中加载到字典
...
>>> d1
{1:'a', 2:{'2k0':'2v0', '2k1':'2v1'}}

或者在load参数中直接open文件

d1 = json.load(open('d0.json', 'r'))
原文地址:https://www.cnblogs.com/gaiqingfeng/p/13229073.html