Python-JSON模块
时间:2020-02-23 14:42:52 来源:igfitidea点击:
在本教程中,我们将学习在Python中使用JSON。
什么是JSON?
JSON或者JavaScript Object Notation是一种轻量级格式,用于存储和交换数据。
示例:
{ "username": "theitroadtheitroad", "score": 9.1, "isOnline": false }
json模块
要在Python中使用JSON,我们必须导入json
模块。
import json
json.dumps()方法
要将Python对象转换为JSON,我们使用json模块中的json.dumps()方法。
在下面的Python程序中,我们将Python字典转换为JSON字符串。
# import module import json # dict userData = { "username": "theitroadtheitroad", "score": 9.1, "isOnline": False } # convert to JSON userData_JSON = json.dumps(userData) # output print("Type of userData:", type(userData)) print("Type of userData_JSON:", type(userData_JSON)) print("userData:", userData) print("userData_JSON:", userData_JSON)
上面的代码将为我们提供以下输出。
Type of userData: <class 'dict'> Type of userData_JSON: <class 'str'> userData: {'username': 'theitroadtheitroad', 'score': 9.1, 'isOnline': False} userData_JSON: {"username": "theitroadtheitroad", "score": 9.1, "isOnline": false}
为了使JSON字符串更具可读性,我们可以将indent
参数传递给json.dumps()
方法。
在下面的Python程序中,我们将使用json.dumps()方法将Python对象覆盖为JSON字符串,并传递indent = 2
以使字符串更具可读性。
# import module import json # dict userData = { "username": "theitroadtheitroad", "score": 9.1, "isOnline": False } # convert to JSON userData_JSON = json.dumps(userData, indent=2) # output print("Type of userData:", type(userData)) print("Type of userData_JSON:", type(userData_JSON)) print("userData:", userData) print("userData_JSON:", userData_JSON)
我们将获得以下输出。
Type of userData: <class 'dict'> Type of userData_JSON: <class 'str'> userData: {'username': 'theitroadtheitroad', 'score': 9.1, 'isOnline': False} userData_JSON: { "username": "theitroadtheitroad", "score": 9.1, "isOnline": false }
Python对象转换为JSON
我们可以使用json.dumps()方法将以下Python对象转换为JSON。
Python对象 | JSON |
---|---|
True | true |
False | false |
int | Number |
float | Number |
str | String |
列表 | 数组 |
元组 | 数组 |
dict | 对象 |
None | null |
在下面的Python程序中,我们将Python对象覆盖为JSON字符串。
# import module import json # data data = { "int": 1, "float": 3.14, "string": "theitroadtheitroad", "list": [1, 2, 3], "tuple": (1, 2, 3), "dict": { "x": 10, "y": 20 }, "boolTrue": True, "boolFalse": False, "noneVal": None } # convert to JSON data_JSON = json.dumps(data) # output print("Type of data:", type(data)) print("Type of data_JSON:", type(data_JSON)) print("data:", data) print("data_JSON:", data_JSON)
上面的Python代码将为我们提供以下输出。
Type of data: <class 'dict'> Type of data_JSON: <class 'str'> data: {'int': 1, 'float': 3.14, 'string': 'theitroadtheitroad', 'list': [1, 2, 3], 'tuple': (1, 2, 3), 'dict': {'x': 10, 'y': 20}, 'boolTrue': True, 'boolFalse': False, 'noneVal': None} data_JSON: { "int": 1, "float": 3.14, "string": "theitroadtheitroad", "list": [ 1, 2, 3 ], "tuple": [ 1, 2, 3 ], "dict": { "x": 10, "y": 20 }, "boolTrue": true, "boolFalse": false, "noneVal": null }
json.loads()方法
我们使用json.loads()方法将JSON字符串转换为Python对象。
在以下Python程序中,我们将JSON字符串转换为Python对象。
# import module import json # json data_JSON = '{"username": "theitroadtheitroad", "score": 9.1, "isOnline": false}' # covert data = json.loads(data_JSON) # output print("Type of data_JSON:", type(data_JSON)) print("Type of data:", type(data)) print("data_JSON:", data_JSON) print("data:", data)
上面的代码将使用以下输出。
Type of data_JSON: <class 'str'> Type of data: <class 'dict'> data_JSON: {"username": "theitroadtheitroad", "score": 9.1, "isOnline": false} data: {'username': 'theitroadtheitroad', 'score': 9.1, 'isOnline': False}