废话写在前:JSON(JavaScript Object Notation),即JavaScript对象标记,它通过对象和数组的组合来表示数据,构造简洁但是结构化程度非常高,是一种轻量级的数据交换格式。
一,了解JSON
长什么样子呢?如下:
JSON对象形式
[{
"name": "yuzhaokai",
"gender":"male"
"birthday":"1995-12-12"
},{
"name":"wudan",
"gender":"female",
"birthday":"1995-11-11"
}]
其中由中括号包围的就相当于列表类型,列表中的每个元素可以是任意类型,上面示例中它表现为字典类型,由大括号包围。
二,实例
import json
# 读取JSON 可以调用JSON库的loads()方法将JSON文本字符转化为JSON对象,可以通过dumps()方法将JSON对象转化为文本字符串
str = '''
[{
"name": "yuzhaokai",
"gender":"male",
"birthday":"1995-12-12"
},{
"name":"wudan",
"gender":"female",
"birthday":"1995-11-11"
}]
'''
print(type(str))
data = json.loads(str)
print(data)
print(type(data))
print(data[0]['name']) #打印字典第一个元素的值
print(data[0].get('name')) #打印字典第一个元素的值
# 调用dumps()方法将JSON对象转化为字符串,写入json文件
with open('data.json','w',encoding='utf-8') as file:
file.write(json.dumps(data,indent=2,ensure_ascii=False))
# 其中indent代表缩进字符个数
# 为了输出中文需要指定参数 ensure_ascii 为False,另外还需要规定文件输出的编码