【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数据,无论是转换数据结构,还是读写文件。

目录
相关文章
|
2月前
|
C语言 Python
[oeasy]python054_python有哪些关键字_keyword_list_列表_reserved_words
本文介绍了Python的关键字列表及其使用规则。通过回顾`hello world`示例,解释了Python中的标识符命名规则,并探讨了关键字如`if`、`for`、`in`等不能作为变量名的原因。最后,通过`import keyword`和`print(keyword.kwlist)`展示了Python的所有关键字,并总结了关键字不能用作标识符的规则。
46 9
|
2月前
|
数据挖掘 大数据 数据处理
python--列表list切分(超详细)
通过这些思维导图和分析说明表,您可以更直观地理解Python列表切分的概念、用法和实际应用。希望本文能帮助您更高效地使用Python进行数据处理和分析。
76 14
|
2月前
|
数据挖掘 大数据 数据处理
python--列表list切分(超详细)
通过这些思维导图和分析说明表,您可以更直观地理解Python列表切分的概念、用法和实际应用。希望本文能帮助您更高效地使用Python进行数据处理和分析。
132 10
|
4月前
|
测试技术 开发者 Python
在 Python 中创建列表时,应该写 `[]` 还是 `list()`?
在 Python 中,创建列表有两种方法:使用方括号 `[]` 和调用 `list()` 函数。虽然两者都能创建空列表,但 `[]` 更简洁、高效。性能测试显示,`[]` 的创建速度比 `list()` 快约一倍。此外,`list()` 可以接受一个可迭代对象作为参数并将其转换为列表,而 `[]` 则需要逐一列举元素。综上,`[]` 适合创建空列表,`list()` 适合转换可迭代对象。
在 Python 中创建列表时,应该写 `[]` 还是 `list()`?
|
3月前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
4月前
|
JSON 数据格式 Python
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
这篇文章介绍了一个Python脚本,用于统计TXT或JSON文件中特定单词的出现次数。它包含两个函数,分别处理文本和JSON文件,并通过命令行参数接收文件路径、目标单词和文件格式。文章还提供了代码逻辑的解释和示例用法。
71 0
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
|
4月前
|
JSON 数据格式 Python
Python编程:利用JSON模块编程验证用户
Python编程:利用JSON模块编程验证用户
40 1
|
4月前
|
JSON 前端开发 JavaScript
json字符串如何转为list对象?
json字符串如何转为list对象?
592 7
|
5月前
|
JSON API 数据格式
使用Python发送包含复杂JSON结构的POST请求
使用Python发送包含复杂JSON结构的POST请求
|
4月前
|
存储 JSON 数据格式
Python 输入输出与文件处理: io、pickle、json、csv、os.path 模块详解
Python 输入输出与文件处理: io、pickle、json、csv、os.path 模块详解
60 0

热门文章

最新文章