python json文件格式转换

答案:Python中JSON与字典、列表互转需分清文件和字符串操作。用json.load()读取JSON文件转为字典或列表;用json.dump()将字典或列表保存为JSON文件,需设置ensure_ascii=False和indent避免中文转义及格式混乱;字符串与JSON转换使用json.loads()和json.dumps(),注意参数配置保证中文正常显示和格式美观。

在Python中处理JSON文件时,经常需要进行格式转换,比如将JSON转为字典、列表,或将字典保存为JSON文件。以下是常见的JSON格式转换操作方法。

读取JSON文件并转换为Python对象

使用json.load()可以从文件中读取JSON内容,并转换为Python中的字典或列表。

示例:

import json

with open('data.json', 'r', encoding='utf-8') as file: data = json.load(file)

此时data是一个字典或列表,可直接操作

print(type(data)) print(data)

将Python对象转换为JSON并写入文件

使用json.dump()可以将Python的字典或列表保存为JSON格式的文件。

示例:

import json

data = { "name": "张三", "age": 30, "city": "北京" }

with open('output.json', 'w', encoding='utf-8') as file: json.dump(data, file, ensure_ascii=False, indent=4)

注意:ensure_ascii=False 避免中文被转义,indent=4 让输出更美观。

字符串与JSON之间的转换

如果JSON数据是字符串形式,使用json.loads()json.dumps()进行转换。

示例:

import json

JSON字符串转字典

json_str = '{"name": "李四", "score": 95}' data_dict = json.loads(json_str) print(data_dict['name'])

字典转JSON字符串

result_str = json.dumps(data_dict, ensure_ascii=False, indent=2) print(result_str)

基本上就这些常见操作。只要分清是文件操作还是字符串操作,选择对应的load/dump或loads/dumps即可。注意编码和中文处理,避免乱码问题。不复杂但容易忽略细节。