Python对json数据的提取
JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式。XML也是一种数据交换格式,为什么没有选择XML呢?因为XML虽然可以作为跨平台的数据交换格式,但是在JS(JavaScript的简写)中处理XML非常不方便,同时XML标记比数据多,增加了交换产生的流量,而JSON没有附加的任何标记,在JS中可作为对象处理,所以我们更倾向于选择JSON来交换数据。
1,为什么要研究json数据的提取呢?
是因为zabbix监控取数据的时候,很多都是要处理json中的某个指标数据的。例如我要从一大串的json数据中,取某个指标数据,怎么取呢?下面举个例子:
json数据:{‘TotalCount’: 1, ‘InstanceSet’: [{‘Placement’: {‘Zone’: ‘ap-guangzhou-4’, ‘ProjectId’: 0, ‘HostIds’: None, ‘HostIps’: None, ‘HostId’: None}, ‘InstanceId’: ‘ins-6h6p3k6e’, 'InstanceTy
pe’: ‘S5.SMALL2’, ‘CPU’: 1, ‘Memory’: 2, ‘RestrictState’: ‘NORMAL’, ‘InstanceName’: ‘未命名’, ‘InstanceChargeType’: ‘PREPAID’, ‘SystemDisk’: {‘DiskType’: ‘CLOUD_PREMIUM’, ‘DiskId’: 'd
isk-h5o7wnf0’, ‘DiskSize’: 50}, ‘DataDisks’: None, ‘PrivateIpAddresses’: [‘172.16.0.12’], ‘PublicIpAddresses’: [‘134.175.228.48’], ‘InternetAccessible’: {‘InternetChargeType’: 'BANDWI
DTH_PREPAID’, ‘InternetMaxBandwidthOut’: 1, ‘PublicIpAssigned’: None, ‘BandwidthPackageId’: None}, ‘VirtualPrivateCloud’: {‘VpcId’: ‘vpc-mk4mrt4b’, ‘SubnetId’: ‘subnet-py2q6cqc’, 'AsV
pcGateway’: False, ‘PrivateIpAddresses’: None, ‘Ipv6AddressCount’: None}, ‘ImageId’: ‘img-oikl1tzv’, ‘RenewFlag’: ‘NOTIFY_AND_MANUAL_RENEW’, ‘CreatedTime’: ‘2020-12-25T08:55:24Z’, 'Ex
- piredTime’: ‘2021-01-25T08:55:24Z’, ‘OsName’: ‘CentOS 7.5 64位’, ‘SecurityGroupIds’: [‘sg-r8l8s8ef’], ‘LoginSettings’: {‘Password’: None, ‘KeyIds’: [‘skey-oa700dq3’], ‘KeepImageLogin’
- None}, ‘InstanceState’: ‘RUNNING’, ‘Tags’: [], ‘StopChargingMode’: ‘NOT_APPLICABLE’, ‘Uuid’: ‘c1c29e0f-388a-429e-af28-35d836495e38’, ‘LatestOperation’: ‘ResetInstancesPassword’, 'La
testOperationState’: ‘SUCCESS’, ‘LatestOperationRequestId’: ‘bc0bafe1-0c8f-4be5-9ddf-8933f4f3d8ed’, ‘DisasterRecoverGroupId’: ‘’, ‘IPv6Addresses’: None, ‘CamRoleName’: ‘’, 'HpcCluster
Id’: ‘’, ‘RdmaIpAddresses’: None}], ‘RequestId’: ‘9a97237b-a614-4ef9-9f50-18190911c120’}
我要从里面抽取出InstanceId 这个指标的值,这里推荐用一个在线的json数据处理网站:https://www.sojson.com/simple_json.html,这个网站方便我们分析json数据的结构的。
看图吧:
2,取某个数据,用json.loads
json.loads 用于解码 JSON 数据,json.loads()函数是将json格式数据转换为字典(可以这么理解,json.loads()函数是将字符串转化为字典),res就是上面那串json数据了。观察json数据结构,InstanceId包含在元数组InstanceSet里面,然后json.load(res)将数据转化为字典,选取InstanceSet元数组里面的数据,之后直接选取InstanceId对象,就可以得出该对象的数值了。如下图:
打印结果:
其它的原理不细说了,自己百度python json比我说的好,然后自己尝试获取其它的数据就知道怎么用了。我就用它实现了一些功能。如下图,想要什么值就可以打印出它的值。
技术交流欢迎加入Q群:177428068
Python对json数据的提取相关推荐
- python处理json数据——网易云评论爬取
python处理json数据--网易云评论爬取 准备 代码 准备 1.python 3.7 2.需要安装的库: requests jsonpath pandas time fake_useragent ...
- python生成条形图-Python处理JSON数据并生成条形图
一.JSON 数据准备 首先准备一份 JSON 数据,这份数据共有 3560 条内容,每条内容结构如下: 本示例主要是以 tz(timezone 时区) 这一字段的值,分析这份数据里时区的分布情况. ...
- python处理json数据 乱码报错_python操作mysql中文显示乱码的解决方法
本文实例展示了一个脚本python用来转化表配置数据xml并生成相应的解析代码. 但是在中文编码上出现了乱码,现将解决方法分享出来供大家参考. 具体方法如下: 1. Python文件设置编码 utf- ...
- python操作json_如何使用Python处理JSON数据
如何使用Python处理JSON数据?本篇文章就给大家介绍使用Python处理JSON数据的基本方法.有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. 在介绍使用Python处理JSO ...
- 数据库sql创建标量值函数_使用JSON_VALUE()从JSON数据中提取标量值
数据库sql创建标量值函数 In this article, we will explore JSON_VALUE() function in SQL Server to extract scalar ...
- Python Re 正则表达式 数据匹配提取 基本使用
Python re 正则表达式 数据匹配提取 基本使用 小洲提示:代码可直接复制在编译器中运行,方便更好的理解 文章目录 Python re 正则表达式 数据匹配提取 基本使用 前言 一.导入库,内置 ...
- 【Python使用】Python解析JSON数据的基本方法/用MATLAB解析json格式数据
一 JSON数据格式介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. JSON建构于两种结构:json是Javascript中的对象和数组中的对象, ...
- python 处理json数据
python 处理json数据 json官网:https://www.json.org/json-en.html 1. json数据格式 json的数据格式有2种,分别是: 对象(object):用大 ...
- python json 转csv_利用python将json数据转换为csv格式的方法
假设.json文件中存储的数据为: {"type": "Point", "link": "http://www.dianping. ...
最新文章
- 不要做浮躁的嵌入式系统工程师
- nbu oracle 冷备_NBU备份系统应用操作手册..doc
- java常见错误--Access restriction: The type BASE64Encoder
- 今天去团省委维护网站
- 工厂模式 构建者模式_实践中的构建者模式
- [转]leo谈“80后”程序员为什么找不到工作?(1)
- .NET中过滤TextBox中输入的html标签
- SQL server中关于年月日周的添加
- java从文件读入个人信息_Nacos 作为配置中心 读取Properties配置信息
- 关键词组合工具_凭技术做外贸:关键词优化的高效工具推荐
- 联想 M7400 pro Linux下 CUPS 驱动安装
- Power Query M语言全部list函数,快速分类掌握
- 用Python简单的实现AM调制信号波形的变化
- Java中查看今天周几
- RHY融获基金数字资产投资,海外扩建加速
- RGMII_PHY测试笔记1 基于开发板MiS603-X25
- 第43期ACM_ICPC亚洲区域赛(焦作站)感想
- Python绘图一条龙--大小/坐标/标签/多图布局/配色方案等
- Python 视频转换为图片 与 图片转换为视频
- (附源码)Springboot校园商铺系统 毕业设计 052145