python模块05-json

news/2024/9/14 6:00:26/ 标签: python, 开发语言

3  请求数据提取:json

3.1 json类型数据

        json对象:{key:calue}

        json数组:[1,2,3,4]

3.2 json模块

1) json.loads

  • 把Json格式字符串解码转换成Python对象(json数组对应列表,json对象对应字典)
  • 注意点:python中的None,在json中使用null来标识

2)json.dumps

  • 实现python类型转换为json字符串,返回有个str对象把有个python对象编码转换成json字符串
  •  注意:json.dumps()序列化时默认使用的ascii编码
  • 添加参数ensure_ascii = False禁用ascii编码,按utf-8编码
python">url = 'http://httpbin.org/post'
#dumps将python对象转换为Json数据
data_json = json.dumps({'stock_no':'600585','price':'52.12'})
res = requests.post(url, data_json)
print(res)
print(res.text)
print(res.content)
print(res.json())"""结果
<Response [200]>
{"args": {}, "data": "{\"stock_no\": \"600585\", \"price\": \"52.12\"}", "files": {}, "form": {}, "headers": {"Accept": "*/*", "Accept-Encoding": "gzip, deflate", "Content-Length": "40", "Host": "httpbin.org", "User-Agent": "python-requests/2.32.3", "X-Amzn-Trace-Id": "Root=1-66cb51d7-7c500fe92870796a2f2c7e8e"}, "json": {"price": "52.12", "stock_no": "600585"}, "origin": "172.104.189.197", "url": "http://httpbin.org/post"
}b'{\n  "args": {}, \n  "data": "{\\"stock_no\\": \\"600585\\", \\"price\\": \\"52.12\\"}", \n  "files": {}, \n  "form": {}, \n  "headers": {\n    "Accept": "*/*", \n    "Accept-Encoding": "gzip, deflate", \n    "Content-Length": "40", \n    "Host": "httpbin.org", \n    "User-Agent": "python-requests/2.32.3", \n    "X-Amzn-Trace-Id": "Root=1-66cb51d7-7c500fe92870796a2f2c7e8e"\n  }, \n  "json": {\n    "price": "52.12", \n    "stock_no": "600585"\n  }, \n  "origin": "172.104.189.197", \n  "url": "http://httpbin.org/post"\n}\n'{'args': {}, 'data': '{"stock_no": "600585", "price": "52.12"}', 'files': {}, 'form': {}, 'headers': {'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate', 'Content-Length': '40', 'Host': 'httpbin.org', 'User-Agent': 'python-requests/2.32.3', 'X-Amzn-Trace-Id': 'Root=1-66cb527f-3f933ec779160df739e51cc2'}, 'json': {'price': '52.12', 'stock_no': '600585'}, 'origin': '172.104.189.197', 'url': 'http://httpbin.org/post'}"""

 

3)jsonPath模块

        JsonPath,用于是提取JSON数据中的指定数据

pip install jsonpath

JsonPath常用语法:

JSONPath描述
$根节点
. or []取子节点
..子孙节点
[]如数组下标,根据内容选值等

 使用方法:jsonpath.jsonpath()

        参数1:数据对象

        参数2:jsonpath表达式

后续补充例子


http://www.ppmy.cn/news/1516902.html

相关文章

Jenkins发邮件功能如何配置以实现自动化?

jenkins发邮件的设置指南&#xff1f;Jenkins怎么配置服务器&#xff1f; Jenkins作为一个流行的自动化服务器&#xff0c;其发邮件功能是通知团队成员构建状态的重要手段。AokSend将详细介绍如何配置Jenkins发邮件功能&#xff0c;以实现自动化通知。 Jenkins发邮件&#xf…

『 C++ 』线程库

文章目录 线程库线程的创建与销毁成员函数this_thread 命名空间线程的引用传值 互斥锁互斥锁的基本操作递归锁(可重入锁)定时互斥锁互斥锁管理器与互斥锁抛异常所引发的死锁问题 条件变量条件变量的等待条件变量的唤醒两个线程交替打印奇偶数 线程库 C标准库提供了一套完整的线…

探索 AWS Lightsail 与 EC2:如何选择适合你的云计算服务?

探索 AWS Lightsail 与 EC2&#xff1a;如何选择适合你的云计算服务&#xff1f; 随着云计算的广泛应用&#xff0c;AWS 提供了多种计算服务以满足不同的用户需求。对于初次接触 AWS 的用户来说&#xff0c;可能会在选择 AWS Lightsail 和 EC2 时感到困惑。这两者都提供了虚拟…

webpack打包优化方案

调试工具&#xff1a;安装webpack-bundle-analyzer打包可视化工具&#xff0c;可以看到打包文件大小&#xff0c;从而有针对性的优化。 npm install --save-dev webpack-bundle-analyzer。 方案一&#xff1a;将第三方依赖包使用cdn进行引入减小文件包体积&#xff08;例&…

Git的使用教程及常用语法01

git安装可以到官网上下载并安装&#xff0c;一直点点点就行 安装成功后可以在任意地方右键以终端的形式打开。 打开命令终端&#xff0c;输入git -v 查看git版本 一.配置全局用户名和邮箱 配置全局用户名&#xff1a; git config --global user.name "your username&…

利用TeamCity实现maven项目的CI/CD

1.什么是TeamCity&#xff1f; TeamCity 是一款由 JetBrains 开发的强大的持续集成&#xff08;Continuous Integration&#xff0c;CI&#xff09;和持续部署&#xff08;Continuous Deployment&#xff0c;CD&#xff09;工具。它帮助开发团队自动化构建、测试和部署过程&am…

Scratch的无限可能:突破项目大小与复杂度的界限

Scratch的无限可能&#xff1a;突破项目大小与复杂度的界限 Scratch&#xff0c;这个由麻省理工学院媒体实验室开发的编程平台&#xff0c;以其独特的图形化编程方式&#xff0c;激发了全球数百万孩子的创造力和逻辑思维能力。然而&#xff0c;随着孩子们创意的不断扩展&#…

centos7解决病毒入侵 getty

首先使用top命令查看 找到文件地址 查看是否有自启动服务 关闭、停止、删除 tmp 病毒文件删除 清除标记 [roothost-192-168-0-66 bin]# chattr -ia /tmp/newsvc.sh [roothost-192-168-0-66 bin]# chattr -ia /tmp/redis2 [roothost-192-168-0-66 bin]# chattr -ia /tmp/svc* [r…

C++开发IDE用VisualStudio好还是QtCreator好?

在熟练使用了VisualStudio和QtCreator之后,我依然认为QtCreator作为C++项目开发IDE的便捷性真的相当杰出。 当然了,VisualStudio和QtCreator本身就不是一个量级,VS越做越大,庞大的插件库也使得他能够支持从嵌入式到手机端,从web到脚本,甚至游戏,仿真等等各个领域的开发…

Leetcode 1047-删除字符串中的所有相邻重复项

给出由小写字母组成的字符串 S&#xff0c;重复项删除操作会选择两个相邻且相同的字母&#xff0c;并删除它们。 在 S 上反复执行重复项删除操作&#xff0c;直到无法继续删除。 在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。 题解 题目链接 //先进后出&a…

网络-VPN

VPN&#xff08;Virtual Private Network&#xff0c;虚拟专用网络&#xff09;是一种网络技术&#xff0c;用于在公共网络&#xff08;如互联网&#xff09;上建立一个安全的、加密的连接通道&#xff0c;以保护数据传输的安全性和隐私。通过使用 VPN&#xff0c;用户可以在不…

线程面试题

1.JDK自带的线程池有哪些&#xff1f; 2.线程池中核心线程数与最大线程数与缓冲任务队列的关系&#xff1f; 先使用核心线程执行任务。 当核心线程不足时&#xff0c;新任务入队列等待。 当队列满且线程数未达最大值时&#xff0c;增加非核心线程执行任务。 当队列满且线程…

xss-labs通关攻略 11-15关

第十一关&#xff1a;less-11 步骤一&#xff1a;利用burp抓包 步骤二&#xff1a;添加referer:click me!" type"button" οnmοuseοver"alert(/xss/)进行放包 第十二关&#xff1a;less-12 步骤一&#xff1a;利用burp抓包 步骤二&#xff1a;修改User A…

熟悉Labview工具用

目录复制 目录 0.0&#xff1a;快捷键0.1&#xff1a;全局非图标显示0.2&#xff1a;小技巧&#xff1a;图片导入为程序1.2&#xff1a;事件结构1.2.0&#xff1a;超时分支&#xff1a;当事件结构框左上角设置为1时&#xff0c;单位毫秒&#xff0c;即理解为1ms内没有其他的事件…

ReadAgent,一款具有要点记忆的人工智能阅读代理

人工智能咨询培训老师叶梓 转载标明出处 现有的大模型&#xff08;LLMs&#xff09;在处理长文本时受限于固定的最大上下文长度&#xff0c;并且当输入文本越来越长时&#xff0c;性能往往会下降&#xff0c;即使在没有超出明确上下文窗口的情况下&#xff0c;LLMs 的性能也会随…

Python爬虫技术终端协议分析与抓包应用

内容导读 分析PC客户端抓包 分析App客户端抓包 一、分析PC客户端抓包 以爬取某音乐PC客户端为例&#xff0c;实现网页内容爬取与分析。 任务描述&#xff1a; 终端协议是网络上设备之间通信规则的集合&#xff0c;通过终端协议可以获取PC客户端和App客户端数据。常用的PC…

Node.js中的pipe方法:深入解析与应用指南

在Node.js中&#xff0c;pipe方法是处理流&#xff08;Stream&#xff09;数据的一种非常高效的方式。它允许你将一个可读流&#xff08;Readable Stream&#xff09;的数据直接传输到一个可写流&#xff08;Writable Stream&#xff09;中&#xff0c;而无需手动编写读取和写入…

React 实现请求接口封装

接口封装 一、正常接口请求 useEffect(()>{//获取下拉数据async function fetchDateWrapper() {try{const res await 接口();console.log("res",res.data);const value res.data.map(item {return { label: item.valueName,value:valueCode }});setData(value…

大数据5v特性、集群、分布式

目录 数据分析六部曲 大数据的特点 &#xff08;5v特征&#xff09; 分布式与集群的区别 常用的分布式方案 数据分析六部曲 明确分析目的和思路&#xff1a;确保分析框架的体系化和逻辑性&#xff0c;简单来说就是先分析什么&#xff0c;后分析什么&#xff0c;使得各个分析…

PHPShort轻量级网址缩短程序源码开心版,内含汉化包

需要网址缩短并且想获得更多有关链接点击率和流量的数据分析&#xff0c;那么 PHPShort 可能是一个非常好的选择。PHPShort 是一款高级的 URL 缩短器平台&#xff0c;可以帮助你轻松地缩短链接&#xff0c;并根据受众群体的位置或平台来定位受众。 该程序基于 Laravel 框架编写…