Python JSON
版权所有,未经许可,禁止转载
章节
- Python 介绍
- Python 开发环境搭建
- Python 语法
- Python 变量
- Python 数值类型
- Python 类型转换
- Python 字符串(String)
- Python 运算符
- Python 列表(list)
- Python 元组(Tuple)
- Python 集合(Set)
- Python 字典(Dictionary)
- Python If … Else
- Python While 循环
- Python For 循环
- Python 函数
- Python Lambda
- Python 类与对象
- Python 继承
- Python 迭代器(Iterator)
- Python 模块
- Python 日期(Datetime)
- Python JSON
- Python 正则表达式(RegEx)
- Python PIP包管理器
- Python 异常处理(Try…Except)
- Python 打开文件(File Open)
- Python 读文件
- Python 写文件
- Python 删除文件与文件夹
JSON是一种用于存储和交换数据的语法。
JSON是用JavaScript对象表示法(JavaScript object notation)格式编写的文本。
Python中的JSON
Python中可导入json
模块来处理json数据。
示例
导入json模块:
import json
解析JSON - 将JSON转换为Python数据
可以使用json.loads()
方法解析JSON文本。解析结果存放在一个Python字典里。
示例
从JSON到Python字典的转换:
import json
# JSON文本
x = '{ "name":"Kevin", "age":38, "city":"Hangzhou"}'
# 解析x:
y = json.loads(x)
# 解析结果是一个Python字典:
print(y["age"])
把Python对象转换为JSON
可以使用json.dumps()
方法将Python对象转换为JSON。
示例
把Python对象转换为JSON:
import json
# a Python object (dict):
x = {
"name": "Kevin",
"age": 38,
"city": "Hangzhou"
}
# 转换为JSON:
y = json.dumps(x)
# 转换结果是一个JSON字符串:
print(y)
可以将以下类型的Python对象转换为JSON:
- dict
- list
- tuple
- string
- int
- float
- True
- False
- None
示例
将Python对象转换为JSON,并打印值:
import json
print(json.dumps({"name": "Kevin", "age": 38}))
print(json.dumps(["自行车", "汽车", "高铁"]))
print(json.dumps(("自行车", "汽车", "高铁")))
print(json.dumps("hello"))
print(json.dumps(88))
print(json.dumps(95.34))
print(json.dumps(True))
print(json.dumps(False))
print(json.dumps(None))
当将Python对象转换为JSON时,Python对象将被转换为对应JSON (JavaScript)类型:
Python | JSON |
---|---|
dict | Object |
list | Array |
tuple | Array |
str | String |
int | Number |
float | Number |
True | true |
False | false |
None | null |
示例
转换包含所有合法数据类型的Python对象:
import json
x = {
"name": "Kevin",
"age": 38,
"married": True,
"divorced": False,
"children": ("Alice", "Bob"),
"pets": None,
"cars": [
{"model": "BMW 230", "mpg": 27.5},
{"model": "Ford Mondeo", "mpg": 24.1}
]
}
print(json.dumps(x))
结果格式化
上面的示例打印了一个JSON字符串,没有缩进和换行符,不容易阅读。
json.dumps()
方法有一些参数可以格式化输出结果:
示例
使用indent
(缩进)参数来定义缩进数量:
json.dumps(x, indent=4)
还可以定义分隔符,默认值是(", ", ": "),表示使用逗号分隔对象,使用冒号分隔键和值:
示例
使用separator
参数更改默认分隔符:
json.dumps(x, indent=4, separators=(". ", " = "))
订单结果
json.dumps()
方法的sort_keys
参数可用于对结果中的键排序:
示例
使用sort_keys
参数指定结果是否应该排序:
json.dumps(x, indent=4, sort_keys=True)