21-python学习笔记之JSON
前言
以下都是自己的一些学习笔记,可能有写的不对的地方,还望各位大佬体谅和加以指正。
JSON 是用于存储和交换数据的语法。
JSON 是用 JavaScript 对象表示法(JavaScript object notation)编写的文本。
json 与 python中的字典类似
Python 中的 JSON
Python 有一个名为 json
的内置包,可用于处理 JSON 数据。
导入 json 模块:
import json
一、JSON 转换为 python 字典
解析 JSON - 把 JSON 转换为 Python
若有 JSON 字符串,则可以使用 json.loads()在这里插入代码片
方法对其进行解析。
结果将是 Python 字典
。
把 JSON 转换为 Python:
import json
# 一些 JSON:
x = '{ "name":"Bill", "age":63, "city":"Seatle"}'
# 解析 x:
y = json.loads(x) # 解析函数
# 结果是 Python 字典:
print(y["age"]) # 63
把 Python 转换为 JSON
若有 Python 对象,则可以使用 json.dumps()
方法将其转换为 JSON 字符串。
把 Python 转换为 JSON:
import json
# Python 对象(字典):
x = {
"name": "Bill",
"age": 63,
"city": "Seatle"
}
# 转换为 JSON:
y = json.dumps(x) # 转换函数
# 结果是 JSON 字符串:
print(y)
我们可以把以下类型的 Python 对象转换为 JSON 字符串:
- dict
- list
- tuple
- string
- int
- float
- True
- False
- None
将 Python 对象转换为 JSON 字符串,并打印值:
import json
print(json.dumps({"name": "Bill", "age": 63}))
print(json.dumps(["apple", "bananas"]))
print(json.dumps(("apple", "bananas")))
print(json.dumps("hello"))
print(json.dumps(42))
print(json.dumps(31.76))
print(json.dumps(True))
print(json.dumps(False))
print(json.dumps(None))
打印结果:
{"name": "Bill", "age": 63}
["apple", "bananas"]
["apple", "bananas"]
"hello"
42
31.76
true
false
null
当 Python 转换为 JSON 时,Python 对象会被转换为 JSON(JavaScript)等效项:
Python JSON
dict Object
list Array
tuple Array
str String
int Number
float Number
True true
False false
None null
转换包含所有合法数据类型的 Python 对象:
import json
x = {
"name": "Bill",
"age": 63,
"married": True,
"divorced": False,
"children": ("Jennifer","Rory","Phoebe"),
"pets": None,
"cars": [
{"model": "Porsche", "mpg": 38.2},
{"model": "BMW M5", "mpg": 26.9}
]
}
print(json.dumps(x))
格式化结果
上面的实例打印一个 JSON 字符串,但它不是很容易阅读,没有缩进和换行。
json.dumps()
方法提供了令结果更易读的参数:
使用 indent 参数定义缩进数:
json.dumps(x, indent=4)
我们还可以定义分隔符,默认值为(", ", ": "),这意味着使用逗号和空格分隔每个对象,使用冒号和空格将键与值分开:
使用 separators
参数来更改默认分隔符:
json.dumps(x, indent=4, separators=(". ", " = "))
对结果排序
json.dumps()
方法提供了对结果中的键进行排序的参数:
使用 sort_keys
参数来指定是否应对结果进行排序:
json.dumps(x, indent=4, sort_keys=True)
总结
JSON 是后期实现与其他程序进行交互的一个重要手段,一定要会。
不需要会全部,但是一定要会JSON和python之间的转换
JSON 转换 python
json = '{ "name":"Bill", "age":63, "city":"Seatle"}'
result = json.loads(json)
python 转换 JSON
dict = '{ "name":"Bill", "age":63, "city":"Seatle"}'
result = json.dumps(dict)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)