json

Python为我们提供了简单易用的库来实现JSON文件的读写操作

loads()方法将JSON文本字符串转为JSON对象

import json
 
str = '''
[{
    "name": "Bob",
    "gender": "male",
    "birthday": "1992-10-18"
}, {
    "name": "Selina",
    "gender": "female",
    "birthday": "1995-10-18"
}]
'''
print(type(str))
data = json.loads(str)
print(data)
print(type(data))

运行结果:

<class 'str'>
[{'name': 'Bob', 'gender': 'male', 'birthday': '1992-10-18'}, {'name': 'Selina', 'gender': 'female', 'birthday': '1995-10-18'}]
<class 'list'>



 注意:JSON的数据需要用双引号来包围,不能使用单引号

dumps()方法将JSON对象转为文本字符串。

import json

data = [{
    'name': 'Bob',
    'gender': 'male',
    'birthday': '1992-10-18'
}]
with open('data.json', 'w') as file:
    file.write(json.dumps(data))

如果想保存JSON的格式,可以再加一个参数indent,代表缩进字符个数。

with open('data.json', 'w') as file:
    file.write(json.dumps(data, indent=2))

中文字符都变成了Unicode字符,这并不是我们想要的结果。

为了输出中文,还需要指定参数ensure_asciiFalse,另外还要规定文件输出的编码:

    
with open('data.json', 'w', encoding='utf-8') as file:
    file.write(json.dumps(data, indent=2, ensure_ascii=False))

 

posted on 2019-01-18 14:49  萌新python  阅读(80)  评论(0)    收藏  举报