json和python中字典的区别和联系

本文探讨了Python字典与JSON格式之间的主要区别,包括字符串引用符号的不同、数据类型的兼容性差异、键名的规定以及布尔值和空值的表示方式等。通过这些对比帮助读者更好地理解两种数据结构的特点。

1.python dict 字符串用单引号,json强制规定双引号。
2.python dict 里可以嵌套tuple, json里只有arrayjson.dumps({1:2}) 的结果是 {“1”:2},而python中的json模块函数:json.dumps((1,2)) 的结果是[1,2]
3.json key name 必须是字符串, python 是hashable, {(1,2):1} 在python里是合法的,因为tuple是hashable type;{[1,2]:1} 在python里TypeError: unhashable “list”
4.json: true false null python:,True False None5. python {“me”: “我”} 是合法的 json 必须是 {“me”: “\u6211”}
5.python中有个专门处理json数据的模块:
这里写图片描述

### Python 字典JSON区别 #### 数据结构定义 Python字典是一种无序、可变且允许重复键的数据集合,其语法形式如下: ```python person_dict = { 'name': '孙洋', 'age': 25, 'city': '成都' } ``` JSON(JavaScript Object Notation),则是一种轻量级的数据交换格式。它基于“名称/值”对来构建数据,类似于Python中的字典,但是具有更严格的语法规则[^2]。 #### 编码与解码过程 当处理不同环境间的数据传输时,需要将Python字典转换成JSON字符串或将JSON字符串解析回Python字典。这涉及到编码解码的过程: - **序列化** (Serialization): 把Python对象转为JSON字符串。 ```python import json person_json_str = json.dumps(person_dict, ensure_ascii=False) ``` - **反序列化** (Deserialization): 把JSON字符串转化为Python对象。 ```python parsed_person_dict = json.loads(person_json_str) ``` #### 文件操作支持 对于持久化的存储需求,可以利用`json.dump()`方法直接把Python字典保存到文件中;同样地,通过`json.load()`可以从文件读取并恢复为Python字典实例[^1]: ```python with open('person_data.json', 'w', encoding='utf-8') as file: json.dump(person_dict, file, ensure_ascii=False) with open('person_data.json', 'r', encoding='utf-8') as file: loaded_person_dict = json.load(file) ``` #### 应用场景对比 - **Python字典**: 主要应用于内存内的程序逻辑控制,在编写脚本或开发应用程序内部作为容器使用非常方便灵活。 - **JSON**: 更多地被用来在网络上传输数据或是跨平台之间传递配置信息等场合下,因为它易于阅读并且几乎所有的现代编程语言都提供了相应的解析工具。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值