python中的json库
json
是
JavaScript Object Notation
的缩写,具有以下几个特点
- JSON是轻量级的文本数据交换格式
- JSON具有自我描述性,更易理解
- JSON比XML更小、更快、更易于解析
Python中json标准库的作用:
- 使用json字符串生成python对象(load),字典和列表
- 由python对象格式化成为json字符串(dump)
json模块的使用其实很简单,对于绝大多数场合下,我们只需要使用下面四个方法就可以了:
方法 | 功能 |
---|---|
json.dump(obj,fp) | 将python数据类型转换并保存到json格式的文件内。 |
json.dumps(obj) | 将python数据类型转换为json格式的字符串。 |
json.load(fp) | 从json格式的文件中读取数据并转换为python的类型。 |
json.loads(s) | 将json格式的字符串转换为python的类型。 |
json的示例代码:
import json
#-----------------------------
# 一、从python对象中格式化一个json string
#主要使用dump, dumps
#定义一个字典,用来描述一个人
person = {"name":"Iceks","age":30, "Number":["01","11"],"isonly":True}
#输出数据和类型
print(person)
print(type(person))
#jsonStr = json.dumps(person)
""""
四个空格作为缩进分隔符,以第一个字符排序
indent为缩进的空格数
sort_key为是否按照首字符排序
"""
jsonStr = json.dumps(person, indent=4, sort_keys=True)
print(jsonStr)
print(type(jsonStr))
json.dump(person, open('data.json','w'), indent=4) #格式化并写入到文件
#-----------------------------
# 二、json string 转化为python对象
# 主要使用load loads
s ='{"name":"zhangsan", "age":30, "number":["1","2"], "isonly":true}'
pythonObj = json.loads(s)
print(pythonObj)
print(type(pythonObj))
# 以只读方式打开并装载data.json中的内容
pythonObj = json.load(open('data.json','r'))
print(pythonObj)
print(type(pythonObj))
笔记来源视频:Python基础之标准库json 轻量级文本数据交换格式