Python中JSON与字典相互转换及文件读写详解

竹里
竹里
发布时间:2026-10-13 | 3人浏览过
原创

本文详细介绍Python中json模块的使用方法,涵盖字典与JSON字符串的相互转换。重点解析json.dumps和json.loads函数的参数配置,如ensure_ascii、indent和sort_keys的作用,并演示如何将数据写入JSON文件及从文件读取数据,提供完整代码示例。

Python JSON基础概念

在Python编程语言中,json特指遵循JSON语法规范的字符串数据,该字符串可以是单行格式,也可以是多行格式。

JSON作为一种轻量级数据交换格式,能够方便地在多种编程语言之间进行数据交互。本文主要介绍在Python环境下,如何将字典(dict)对象与JSON字符串进行相互转换。

字典与JSON字符串转换

首先,需要在代码中导入json模块以使用相关功能。

import json

接着,初始化一个包含各类数据的字典对象,用于后续的转换演示。


dict_ = {
  'name': 'Jack', 
  'age': 22, 
  'skills': ['Python', 'Java', 'C++', 'Matlab'], 
  'major': '计算机技术',
  'english': '英语六级',
  'school': 'WIT'
}

使用json.dumps()函数可以将Python字典转换为JSON字符串。


# 1. json.dumps(字典):将字典转为JSON字符串,indent为多行缩进空格数,
# sort_keys为是否按键排序,ensure_ascii=False为不确保ascii,及不将中文等特殊字符转为\uXXX等
json_dict = json.dumps(dict_)
print(json_dict)

默认情况下,中文字符会被转换为Unicode编码形式。若希望保留原始中文字符,需设置ensure_ascii=False参数。


# 行缩进和键值排序
json_dict_2 = json.dumps(dict_, indent=2, sort_keys=True, ensure_ascii=False)
print(json_dict_2)

使用json.loads()函数可以将JSON字符串还原为Python字典对象。


dict_from_str = json.loads(json_dict)
print(dict_from_str)

dict_from_str_2 = json.loads(json_dict_2)
print(dict_from_str_2)

JSON文件读写操作

使用json.dump()函数可以将字典转换为JSON字符串,并直接写入到文件中,生成的文件结构如下所示。


with open("write_json.json", "w", encoding='utf-8') as f:
  # json.dump(dict_, f) # 写为一行
  json.dump(dict_, f, indent=2, sort_keys=True, ensure_ascii=False) # 写为多行

使用json.load()函数可以从打开的JSON文件中读取数据,并将其转换为Python字典对象。


with open("write_json.json", encoding="utf-8") as f:
  json_file = json.load(f)
print(json_file)

以上内容涵盖了Python中JSON处理的核心操作,希望能为读者提供实用的参考,欢迎继续支持本站获取更多技术内容。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表