在日常开发中,对数据进行序列化和反序列化,是常备的操作。而在Python标准库中提供了json模块对JSON数据的处理功能。
什么是json?
JSON(JavaScript Object Notation)是一种使用广泛的轻量数据格式,相对于XML而言更简单,也易于阅读和编写,机器也方便解析和生成,Json是JavaScript中的一个子集。
Json 模块提供了四个方法: dumps、dump、loads、load。
Python的Json模块序列化与反序列化的过程分别是 encoding和 decoding
encoding:把一个Python对象编码转换成Json字符串
decoding:把Json格式字符串解码转换成Python对象
对于简单数据类型(string、unicode、int、float、list、tuple、dict),可以直接处理。
JSON 序列化
JSON 序列化,是把一个Python对象编码转换成Json字符串。
具体的操作为:json.dumps()
1 |
import json |
JSON 反序列化
JSON 反序列化,是把Json格式字符串解码转换成Python类型。
具体的操作为:json.loads()
python中将json反序列化list:
1 |
import json |
python中将json反序列化dict字典:
1 |
import json |
数据类型转换
在默认实现中, json.dumps可以处理的Python对象, 及其所有的属性值, 类型必须为dict, list, tuple, str, float或者int。
默认实现中, JSON和Python之间的数据转换对应关系如下表:
JSON | Python |
---|---|
object | dict |
array | list |
string | str |
number | int/float |
true/false | True/False |
null | None |