Python - json与字典dict

Python中的JSON和字典都是数据序列化的格式,它们都可以将数据转换为字符串以便于存储或传输。虽然它们有一些相似之处,但也有很多不同之处。

字典

字典是Python中的一种数据类型,它是一个键值对的集合。每个键对应一个值,可以通过键来访问值。字典中的键必须是唯一的,而值可以重复。例如:

my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}

JSON

JSON是一种轻量级的数据交换格式,它基于JavaScript对象表示模式。JSON使用类似Python字典的键值对表示数据,但要求键名必须使用双引号括起来,而且键名必须是字符串。例如:

{  
    "name": "John",  
    "age": 30,  
    "city": "New York"  
}

字典与JSON的关系

虽然字典和JSON有些相似,但也有很多不同之处。JSON是一种数据交换格式,而字典是Python的一种数据类型。JSON更加规范和严格,而字典更加灵活和易于使用。

可以将字典转换为JSON字符串,也可以将JSON字符串转换为Python对象。例如:

import json  
  
data = {  
    "name": "John",  
    "age": 30,  
    "city": "New York"  
}  
  
# 将字典转换为JSON字符串  
json_str = json.dumps(data)  
print(json_str)  
  
# 将JSON字符串转换为Python对象  
data_from_json = json.loads(json_str)  
print(data_from_json)

输出:

{"name": "John", "age": 30, "city": "New York"}  
{'name': 'John', 'age': 30, 'city': 'New York'}

注意,在将字典转换为JSON字符串时,需要使用json.dumps()方法。而在将JSON字符串转换为Python对象时,需要使用json.loads()方法。

JSON配置

Python中的json模块是内置的,无需安装任何第三方库。但是,如果需要定制化JSON的生成和解析过程,可以使用json.JSONEncoder和json.JSONDecoder类来自定义序列化和反序列化过程。同时,也可以使用json.JSONOption类来配置JSON的生成和解析过程,例如设置缩进间距或日期时间格式。

JSON只支持一部分数据类型,例如字符串、数字、对象、数组和布尔值。如果需要支持其他数据类型,例如日期时间或自定义对象,需要自定义序列化和反序列化过程。

猜你喜欢

转载自blog.csdn.net/weixin_44697721/article/details/131931370
今日推荐