Python JSON格式数据的提取和保存的实现

拾柒
拾柒
发布时间:2026-10-12 | 3人浏览过
原创

本文详细介绍在Python环境中如何使用内置json模块进行JSON格式数据的提取与保存。通过json.loads()和json.dumps()实现字符串与Python对象的相互转换,利用ensure_ascii=False处理中文编码,并通过json.dump()和json.load()完成文件的读写操作。

Python处理JSON数据的基础

在Python 3.6.5及以上版本中,处理JSON数据无需安装第三方库,直接导入标准库中的json模块即可。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,其结构主要由对象和数组构成。对象使用花括号{ }表示,内部为键值对(key: value);数组使用方括号[ ]表示,通过索引访问其中的元素。

JSON字符串与Python对象的转换

json模块提供了四个核心方法:dumps、dump、load和loads。其中,loads()用于将JSON字符串转换为Python对象,而dumps()则执行相反的操作,将Python对象编码为JSON字符串。

字符串转Python对象

当处理JSON格式的字符串时,可以使用json.loads()进行解析。JSON对象会被转换为Python的字典(dict),JSON数组转换为列表(list),字符串转换为Unicode字符串,数字转换为int或float,布尔值转换为True/False,null转换为None。

import json

# JSON文本字符串
str_list = '["a","b","c","d"]'
str_dict = '{"name":"小白","age":1000}'

# json.loads将文本字符串转化为JSON对象,在Python里就是Python对象了
data_list = json.loads(str_list)
data_dict = json.loads(str_dict)

print(type(data_list))
print(type(data_dict))
print(data_list)
print(data_dict)

Python对象转JSON字符串

使用json.dumps()可以将Python对象转换为JSON字符串。字典转换为JSON对象,列表或元组转换为JSON数组,字符串转换为JSON字符串,数字转换为JSON数字,布尔值转换为true/false,None转换为null。

import json

data_list = [1,2,3,4]
data_dict = {'name':'小黑','age':1000}

print(json.dumps(data_list))
print(json.dumps(data_dict))

中文编码处理

默认情况下,json.dumps()会将中文字符转换为Unicode编码。若希望直接输出中文字符,需设置ensure_ascii=False参数。

print(json.dumps(data_dict,ensure_ascii=False))
# 运行结果:{"name": "小黑", "age": 1000}

JSON数据的文件读写

在实际应用中,常需将JSON数据保存到文件或从文件读取。保存文件时,建议指定编码格式为utf-8以支持中文。

保存JSON数据到文件

可以使用json.dump()方法直接将Python对象写入文件,该方法自动处理编码和格式。

# 写入数据到文件
data_list = [{'name':'小白'},{'name':'小黑'}]
with open('data2.json','w',encoding='utf-8') as f:
  json.dump(data_list,f,ensure_ascii=False)

此外,也可以先使用json.dumps()将对象转换为字符串,再写入文件:

with open('data.json','w',encoding='utf-8') as f:
  f.write(json.dumps(data_dict,ensure_ascii=False))

从文件读取JSON数据

使用json.load()方法可以从文件中读取JSON数据并转换为Python对象。

# 从文件读取数据
with open('data2.json','r',encoding='utf-8') as f:
data = json.load(f)
print(data)

以上就是Python中JSON格式数据的提取和保存的详细内容,更多关于Python JSON处理技巧的资料请关注本站其它相关文章!

相关标签:

本站声明

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

Python 相关产品和应用

全部下载

专题列表