《Python编程基础》课件-6.4.1JSON数据处理_第1页
《Python编程基础》课件-6.4.1JSON数据处理_第2页
《Python编程基础》课件-6.4.1JSON数据处理_第3页
《Python编程基础》课件-6.4.1JSON数据处理_第4页
《Python编程基础》课件-6.4.1JSON数据处理_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JSON数据处理教学目标1.掌握JSON序列化(dumps)

2.掌握JSON反序列化(loads)

3.掌握JSON文件操作(dump/load)JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,易于人阅读和编写,也易于机器解析和生成。在Python中,JSON常用于API交互、配置文件和数据存储,将Python数据结构如字典、列表转换为字符串,或反之。核心概念:JSON基于键值对,类似于Python字典,支持嵌套。优势:跨语言兼容、紧凑。应理解JSON不是Python独有,而是通用格式。注意:JSON字符串用双引号,键必须是字符串。1、什么是JSON

#JSON字符串示例(非代码执行)json_str='{"name":"Alice","age":30,"is_student":false}'#JSON格式字符串,键用双引号#这不是Python字典,而是字符串表示的JSON数据导入库使用import语句,将库功能引入当前脚本。核心概念:导入后,可序列化(PythontoJSON)和反序列化(JSONtoPython)。适合处理API响应或文件。注意:json处理不支持所有Python类型,如set需转换。2.导入json库importjson#导入标准库json,用于JSON操作data={"name":"Bob","age":25}#Python字典json_data=json.dumps(data)#序列化为JSON字符串print(json_data)#输出:{"name":"Bob","age":25}序列化是将Python对象转换为JSON字符串的过程,使用json.dumps()。核心概念:参数如indent美化输出,sort_keys排序键。处理列表、元组、None等,支持嵌套结构。用于API发送数据。注意:非标准类型如datetime需自定义编码器。3.JSON序列化(dumps)importjson#导入jsonperson={"name":"Charlie","hobbies":["reading","coding"],"age":None}#复杂字典json_str=json.dumps(person,indent=4,sort_keys=True)#序列化,美化缩进并排序print(json_str)#输出格式化JSON字符串反序列化是将JSON字符串转换为Python对象的过程,使用json.loads()。核心概念:自动映射JSON对象到字典,数组到列表。处理布尔、null、数字。用于解析API响应。注意:无效JSON引发JSONDecodeError,需异常处理。4.JSON反序列化(loads)importjson#导入jsonjson_str='{"name":"David","scores":[90,85],"active":true}'#JSON字符串data=json.loads(json_str)#反序列化为Python字典print(data["name"])#输出:David,访问字典键JSON文件操作使用json.dump()写入文件,json.load()读取。核心概念:与open()结合,确保UTF-8编码。用于持久化数据如配置。注意:dump支持ensure_ascii=False处理非ASCII。5.JSON文件操作(dump/load)importjson#导入jsondata={"city":"NewYork","population":8419600}#数据withopen('data.json','w')asf:#打开文件写入json.dump(data,f,indent=4)#写入JSONwithopen('data.json','r')asf:#打开文件读取loaded=json.load(f)#读取为字典print(loaded["city"])#输出:NewYorkJSON文件操作使用json.dump()写入文件,json.load()读取。核心概念:与open()结合,确保UTF-8编码。用于持久化数据如配置。注意:dump支持ensure_ascii=False处理非ASCII。5.JSON文件操作(dump/load)importjson#导入jsondata={"city":"NewYork","population":8419600}#数据withopen('data.json','w')asf:#打开文件写入json.dump(data,f,indent=4)#写入JSONwithopen('data.json','r')asf:#打开文件读取loaded=json.load(f)#读取为字典print(loaded["city"])#输出:NewYorkJSON与字典互转使用dumps/loads。在Python中,字典直接dumps,JSONloads到字典。用于数据操纵。核心概念:转换无缝桥接。6.JSON与字典转换importjson#导入dict_data={"a":1}#字典json_str=json.dumps(dict_data)#转JSONmodified_dict=json.loads(json_str)#转回字典modified_dict["b"]=2#修改print(json.dumps(modified_dict))#输出:{"a":1,"b":2}嵌套JSON处理多层结构,使用递归或键路径访问。在Python中,loads后字典导航。用于复杂API数据。示例中,提取内层值。核心概念:嵌套要求层级访问。7.处理嵌套JSONimportjson#导入nested_json='{"outer":{"inner":[1,2]}}'#嵌套字符串data=json.loads(nested_json)#解析print(data["outer"]["inner"][0])#输出:1,访问嵌套小结1.JSON是一种轻量级的数据交换格式,基于键值对,类似于Python字典。2.Python的json库支持序列化(将Pyt

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论