网站使用帮助
- 1、网站复选框、输入框及按钮等,鼠标悬浮片刻会有提示信息,请注意查看
- 2、格式化结果折叠展开JSON,支持折叠后复制或删除
- 3、如输入已转义JSON,则自动去除转义并格式化
- 4、如输入JSON格式有误,则自动尝试修正并格式化
- 5、如输入DICT,则自动转为JSON并格式化
- 6、页面右上角有'设置'按钮,支持一些高级设置
- 7、如您喜欢黑色主题,可在右上角点击'白天'切换
- 8、如您喜欢多彩导航条,可在右上角点击'换肤'切换
- 9、如您在使用本站中遇到问题,可点击底部'交流群'反馈
工具介绍
一、什么是 JSON
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于 JavaScript 的一个子集,采用完全独立于语言的文本格式来存储和表示数据。
JSON 具有易于阅读和编写、易于机器解析和生成的特点,是目前互联网上最常用的数据交换格式之一。
JSON 的结构主要由两种数据结构组成:
- 对象(Object):由键值对组成的无序集合,使用花括号
{}包裹,键必须是字符串类型,值可以是字符串、数字、布尔值、数组、对象或 null。 - 数组(Array):由有序的值组成的集合,使用方括号
[]包裹,数组中的元素可以是字符串、数字、布尔值、数组、对象或 null。
JSON 的语法规则非常简单:
- 键必须用双引号包裹
- 字符串值必须用双引号包裹
- 逗号用于分隔键值对和数组元素
示例:
{
"name": "张三",
"age": 25,
"isStudent": false,
"hobbies": ["阅读", "编程", "旅行"],
"address": {
"city": "北京",
"district": "朝阳区"
}
}
二、什么是 Dict(字典)
Dict(字典)是 Python 编程语言中的一种数据结构,也称为关联数组或哈希表。它是一种可变的、无序的键值对集合,其中键必须是不可变的类型(如字符串、数字、元组),值可以是任意类型的对象。
Python 字典具有以下特点:
- 键必须唯一,不能重复
- 键必须是不可变的(hashable)
- 值可以是任意类型
- 字典是可变的,可以添加、删除、修改键值对
- 从 Python 3.7 开始,字典保持插入顺序
示例:
person = {
"name": "张三",
"age": 25,
"is_student": False,
"hobbies": ["阅读", "编程", "旅行"],
"address": {
"city": "北京",
"district": "朝阳区"
}
}
三、JSON 与 Dict 的转换
在 Python 中,我们经常需要在 JSON 和 Dict 之间进行转换,这可以通过 json 模块来实现:
1. Dict 转 JSON
import json
person = {
"name": "张三",
"age": 25,
"is_student": False,
"hobbies": ["阅读", "编程", "旅行"]
}
# 将字典转换为 JSON 字符串
json_str = json.dumps(person, ensure_ascii=False, indent=2)
print(json_str)
2. JSON 转 Dict
import json
json_str = '''{
"name": "张三",
"age": 25,
"is_student": false,
"hobbies": ["阅读", "编程", "旅行"]
}'''
# 将 JSON 字符串转换为字典
person = json.loads(json_str)
print(person["name"]) # 输出: 张三
注意事项:
- 使用
json.dumps()时,设置ensure_ascii=False可以正确处理中文 - JSON 中的
null会被转换为 Python 的None - JSON 中的
true/false会被转换为 Python 的True/False - JSON 不支持 Python 特有的类型(如 tuple、set、datetime 等),需要自定义编码器