当前位置: 首页 > news >正文

【Python学习笔记(六)】json解析模块的使用

json解析模块的使用

前言

json 是一种轻量级的数据交换格式,通过对象和数组的组合来表示数据。在 Python3 中可以使用 json 模块来对 json 数据进行编解码。
json 模块 是 Python 标准库模块,无需手动安装,可以直接导入 import json # 导入json模块,此篇文章介绍 json 模块 的基本使用方法。

正文

json模块包含以下四个函数:

  • json.load():读取 json 文件,并转为 python 数据类型
  • json.loads():将 json 格式的字符串转为 python 数据类型
  • json.dump():将 python 数据类型转为 json 格式的字符串,并存入文件
  • json.dumps():将 python 数据类型转为 json 格式的字符串

其中在爬虫时较为常用的是:json.loads() & json.dump() 方法。

1、json.load()

  • 作用:读取 json 文件,并转为 python 类型
  • 参数:json 格式的字符串
  • 示例:读取 json 文件 " app.json " ,并打印
import json  # 导入json模块with open("app.json",'r') as f:python_list=json.load(f)
print(python_list)
print(type(python_list))

在这里插入图片描述

2、json.loads()

  • 作用:把 json 格式的字符串转为 python 数据类型
  • 参数:json 格式的字符串
  • 示例:将 json 格式的字符串 json_str 转化为字典类型,并打印
import json  # 导入json模块json_str='{"Name": "WeChat", "Type": "Chat"}'
python_dic= json.loads(json_str)
print(type(json_str))
print(python_dic)
print(type(python_dic))

在这里插入图片描述

3、json.dump()

  • 作用:将 python 数据类型转为 json 格式的字符串并存入文件
  • 参数:python , file , ensure_ascii
    1. 第1个参数:python类型的数据(字典、列表等)
    2. 第2个参数:文件对象
    3. 第3个参数:序列化时是否对中文使用的 ascii 编码,默认为True
  • 示例:将 app_list 列表转为 json 格式的字符串并存入文件 " app.json "
import json  # 导入json模块app_list = [{"Name": "WeChat", "Type": "Chat"},{"Name": "QQ", "Type": "Chat"},{"Name": "Nice", "Type": "Shopping"}
]
with open("app.json", "w", encoding="utf-8") as f:json.dump(app_list, f, ensure_ascii=False)

在这里插入图片描述

4、json.dumps()

  • 作用:将 python 数据类型转为 json 格式的字符串
  • 参数:python数据类型
  • 示例:将 app_list 列表转为 json 格式的字符串
import json  # 导入json模块app_list = [{"Name": "WeChat", "Type": "Chat"},{"Name": "QQ", "Type": "Chat"},{"Name": "Nice", "Type": "Shopping"}
]
json_str = json.dumps(app_list)
print(json_str)
print(type(json_str))

在这里插入图片描述

http://www.lryc.cn/news/44726.html

相关文章:

  • 《Spring系列》第3章 基于注解管理Bean
  • 【Redis】十大数据类型(下篇)
  • 【第十一届“泰迪杯”数据挖掘挑战赛】B题产品订单的数据分析与需求预测“解题思路“”以及“代码分享”
  • Python入门到高级【第一章】
  • 【泰凌微TLSR8258 zigbee】OTA升级操作方法
  • 网络基础设施监控
  • OPNET Modeler 例程——创建一个包交换网络
  • JSON 基础结构
  • 雷达基础知识
  • 【二阶锥规划】考虑气电联合需求响应的气电综合能源配网系统协调优化运行【IEEE33节点】(Matlab代码实现)
  • qt 编译器 调试器
  • 低代码平台助力AIGC:让人工智能技术更加普及和高效
  • Qt中Model/View结构
  • 中纬ZOOM35全站仪参数和使用说明书
  • 【Note5】网络,并发/IO,内存,linux/vi命令,正则,Hash,iNode,文件查找与读取,linux启动/构建
  • 华为MRS_HADOOP集群 beeline使用操作
  • PCB模块化设计10——PCI-E高速PCB布局布线设计规范
  • Java简介
  • python框架有哪些,常用的python框架代码
  • jsp设计简单的购物车应用案例
  • VueX是什么?好处?何时使用?
  • 第2章 封装组件初级篇(上)
  • uniapp image标签图片跑偏终极解决办法
  • SpringMVC的响应处理
  • 静态词向量预训练模型
  • 永久免费CRM怎么选?有什么好用的功能?
  • leetcode重点题目分类别记录(二)基本算法:二分,位图,回溯,动态规划,图论基础,拓扑排序
  • 【JaveEE】多线程之定时器(Timer)
  • 【理论推导】变分自动编码器 Variational AutoEncoder(VAE)
  • 【哈希表:哈希函数构造方法、哈希冲突的处理】