【python】python指南(十二):Json与dict、list互相转换

简介: 【python】python指南(十二):Json与dict、list互相转换

一、引言

对于算法工程师来说,语言从来都不是关键,关键是快速学习以及解决问题的能力。大学的时候参加ACM/ICPC一直使用的是C语言,实习的时候做一个算法策略后台用的是php,毕业后做策略算法开发,因为要用spark,所以写了scala,后来用基于storm开发实时策略,用的java。至于python,从日常用hive做数据策略用python写udf,到基于tensorflow深度学习框架写python版的模型网络,再到现在实用pytorch做大模型。眼看着在语言纷争中,python的应用越来越广,开一个单独的专栏用于记录python中常用到的技巧,算是做笔记,没事翻出来看看。

dict、list是python中的字典、列表类型,json是字符串str类型。json的优势是易于理解,接口尝试用json作为请求格式进行传输。json和dict、list形态上非常相似,今天讲一下json与dict、list之间如何转换。

二、JSON转换方法

2.1 将Python对象转换为JSON字符串(序列化)

使用json.dumps()函数可以将Python的字典、列表等数据结构转换为JSON格式的字符串。例如:

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

输出:

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

2.2 将JSON字符串转换为Python对象(反序列化)

使用json.loads()函数可以将JSON格式的字符串转换回Python的数据结构,如字典或列表。例如:

import json
 
# JSON字符串
json_data = '{"name": "John", "age": 30, "city": "New York"}'
 
# 转换为Python字典
data = json.loads(json_data)
print(data)

输出:

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

2.3 使用json模块处理文件

json模块还提供了json.dump()json.load()函数,用于直接从文件读写JSON数据,而无需先读取为字符串再转换。

 写入JSON数据到文件:

import json
 
data = {
    "name": "John",
    "age": 30,
    "city": "New York"
}
 
with open('data.json', 'w') as f:
    json.dump(data, f)

 从文件读取JSON数据:

import json
 
with open('data.json', 'r') as f:
    data = json.load(f)
print(data)

三、总结

通过这些函数,你可以轻松地在Python中处理JSON数据,无论是转换数据结构,还是读写文件。

目录
相关文章
|
5天前
|
测试技术 开发者 Python
在 Python 中创建列表时,应该写 `[]` 还是 `list()`?
在 Python 中,创建列表有两种方法:使用方括号 `[]` 和调用 `list()` 函数。虽然两者都能创建空列表,但 `[]` 更简洁、高效。性能测试显示,`[]` 的创建速度比 `list()` 快约一倍。此外,`list()` 可以接受一个可迭代对象作为参数并将其转换为列表,而 `[]` 则需要逐一列举元素。综上,`[]` 适合创建空列表,`list()` 适合转换可迭代对象。
在 Python 中创建列表时,应该写 `[]` 还是 `list()`?
|
8天前
|
JSON 数据格式 Python
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
这篇文章介绍了一个Python脚本,用于统计TXT或JSON文件中特定单词的出现次数。它包含两个函数,分别处理文本和JSON文件,并通过命令行参数接收文件路径、目标单词和文件格式。文章还提供了代码逻辑的解释和示例用法。
20 0
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
|
17天前
|
JSON 数据格式 Python
Python编程:利用JSON模块编程验证用户
Python编程:利用JSON模块编程验证用户
16 1
|
24天前
|
JSON 前端开发 JavaScript
json字符串如何转为list对象?
json字符串如何转为list对象?
28 7
|
29天前
|
JSON API 数据格式
使用Python发送包含复杂JSON结构的POST请求
使用Python发送包含复杂JSON结构的POST请求
|
1月前
|
Python
python 如何将QueryDict转化为dict | 18
python 如何将QueryDict转化为dict | 18
|
17天前
|
存储 JSON 数据格式
Python 输入输出与文件处理: io、pickle、json、csv、os.path 模块详解
Python 输入输出与文件处理: io、pickle、json、csv、os.path 模块详解
25 0
|
17天前
|
索引 Python
Python列表操作-推导式(List Comprehension)
Python列表操作-推导式(List Comprehension)
15 0
|
27天前
|
Python
Python量化炒股的获取数据函数— get_billboard_list()
Python量化炒股的获取数据函数— get_billboard_list()
32 0
|
27天前
|
XML JSON JavaScript
30天拿下Python之使用Json
30天拿下Python之使用Json
13 0