python字典和JSON

Python 字典和 JSON 都是用于存储和传输数据的常用结构。

概述

  • Python 字典:一种包含键值对的数据结构,属于 Python 内置的数据类型。
  • JSON(JavaScript Object Notation):一种轻量级的数据交换格式,常用于在网络上传输数据,以文本格式表示。JSON 是语言无关的,但目前在多数编程语言中都有很好的支持。

比较

特性 Python 字典 JSON
数据格式 Python 内置数据类型 文本格式,可跨编程语言和平台使用
用途 存储和操作 Python 代码中的数据 数据交换和传输
键的类型 键可以是任何不可变类型(如字符串、整数、元组等) 键必须是字符串
值的类型 值可以是任何数据类型 值可以是字符串、数值、对象、数组、布尔值或 null
表示方法 d = {"key": "value"} JSON 字符串:{"key": "value"}
嵌套 可以嵌套任意复杂的 Python 对象 可以嵌套多个 JSON 对象
可读性 是 Python 程序的一部分 是独立于任何编程语言的文本
标准化 Python 特有,不通用 是一种广泛使用的标准化格式

示例对比

在 Python 中,常使用 json 模块来实现 Python 字典和 JSON 之间的转换。

序列化(将 Python 字典转换为 JSON 字符串)

python 复制代码
import json

data = {
    "name": "John",
    "age": 30,
    "is_student": False,
    "courses": ["Math", "Science"],
    "address": {
        "line1": "123 Main St",
        "city": "New York",
        "zipcode": "10001"
    }
}

json_string = json.dumps(data)
print(json_string)

反序列化(将 JSON 字符串转换为 Python 字典)

python 复制代码
import json

json_string = '{"name": "John", "age": 30, "is_student": false, "courses": ["Math", "Science"], "address": {"line1": "123 Main St", "city": "New York", "zipcode": "10001"}}'

data = json.loads(json_string)
print(data)
相关推荐
lapiii3581 小时前
[智能体设计模式] 第4章:反思(Reflection)
人工智能·python·设计模式
没有bug.的程序员1 小时前
Spring Cloud Alibaba 生态总览
java·开发语言·spring boot·spring cloud·alibaba
快乐非自愿2 小时前
Java垃圾收集器全解:从Serial到G1的进化之旅
java·开发语言·python
树在风中摇曳2 小时前
Java 静态成员与继承封装实战:从报错到彻底吃透核心特性
java·开发语言
百锦再4 小时前
第11章 泛型、trait与生命周期
android·网络·人工智能·python·golang·rust·go
芳草萋萋鹦鹉洲哦4 小时前
【Windows】tauri+rust运行打包工具链安装
开发语言·windows·rust
权泽谦4 小时前
R Shiny 交互式网页实战:从零到上线可视化应用
开发语言·信息可视化·r语言
hweiyu005 小时前
Go Fiber 简介
开发语言·后端·golang
zbhbbedp282793cl6 小时前
如何在VSCode中安装Python扩展?
ide·vscode·python
ᐇ9597 小时前
Java LinkedList集合全面解析:双向链表的艺术与实战
java·开发语言·链表