下面是Python中json.dumps()和json.loads()的用法的详细讲解:
1. json.dumps()
json.dumps()
函数是将Python对象编码成JSON格式的字符串。语法格式如下:
json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)
其中,参数obj
为要被序列化的Python对象,其他参数可选。
接下来,我们通过以下示例来演示json.dumps()的用法:
示例1. 将Python对象转为JSON格式字符串
import json
# 将Python对象转为JSON格式字符串
data = {'name': 'Tom', 'age': 20, 'gender': 'male'}
json_str = json.dumps(data)
# 输出JSON格式字符串
print(json_str) # {"name": "Tom", "age": 20, "gender": "male"}
示例2. json.dumps()函数参数的使用
import json
# 将Python对象转为JSON格式字符串
data = {'name': 'Tom', 'age': 20, 'gender': 'male'}
json_str = json.dumps(data, sort_keys=True, indent=4)
# 输出JSON格式字符串
print(json_str)
"""
{
"age": 20,
"gender": "male",
"name": "Tom"
}
"""
在这个示例中,我们使用了sort_keys=True
将JSON格式字符串的键按字母顺序排序,用indent=4
将JSON格式字符串缩进4个空格。
2. json.loads()
json.loads()
函数是将JSON格式的字符串解码为Python对象。语法格式如下:
json.loads(s, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
其中,参数s
为要被解码为Python对象的JSON格式字符串,其他参数可选。
接下来,我们通过以下示例来演示json.loads()的用法:
示例1. 将JSON格式字符串转为Python对象
import json
# 将JSON格式字符串转为Python对象
json_str = '{"name": "Tom", "age": 20, "gender": "male"}'
data = json.loads(json_str)
# 输出Python对象
print(data) # {'name': 'Tom', 'age': 20, 'gender': 'male'}
示例2. json.loads()函数参数的使用
import json
# 将JSON格式字符串转为Python对象
json_str = '{"name": "Tom", "age": "20", "gender": "male"}'
data = json.loads(json_str, parse_int=True)
# 输出Python对象
print(data) # {'name': 'Tom', 'age': 20, 'gender': 'male'}
在这个示例中,我们使用了parse_int=True
将JSON格式字符串中的数值类型解析为Python中的整数类型。这意味着在Python对象中,键为'age'
的值将被解析为整数类型20
,而不是字符串类型'20'
。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python中json.dumps()和json.loads()的用法 - Python技术站