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数据的提取相关推荐

  1. python处理json数据——网易云评论爬取

    python处理json数据--网易云评论爬取 准备 代码 准备 1.python 3.7 2.需要安装的库: requests jsonpath pandas time fake_useragent ...

  2. python生成条形图-Python处理JSON数据并生成条形图

    一.JSON 数据准备 首先准备一份 JSON 数据,这份数据共有 3560 条内容,每条内容结构如下: 本示例主要是以 tz(timezone 时区) 这一字段的值,分析这份数据里时区的分布情况. ...

  3. python处理json数据 乱码报错_python操作mysql中文显示乱码的解决方法

    本文实例展示了一个脚本python用来转化表配置数据xml并生成相应的解析代码. 但是在中文编码上出现了乱码,现将解决方法分享出来供大家参考. 具体方法如下: 1. Python文件设置编码 utf- ...

  4. python操作json_如何使用Python处理JSON数据

    如何使用Python处理JSON数据?本篇文章就给大家介绍使用Python处理JSON数据的基本方法.有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. 在介绍使用Python处理JSO ...

  5. 数据库sql创建标量值函数_使用JSON_VALUE()从JSON数据中提取标量值

    数据库sql创建标量值函数 In this article, we will explore JSON_VALUE() function in SQL Server to extract scalar ...

  6. Python Re 正则表达式 数据匹配提取 基本使用

    Python re 正则表达式 数据匹配提取 基本使用 小洲提示:代码可直接复制在编译器中运行,方便更好的理解 文章目录 Python re 正则表达式 数据匹配提取 基本使用 前言 一.导入库,内置 ...

  7. 【Python使用】Python解析JSON数据的基本方法/用MATLAB解析json格式数据

    一 JSON数据格式介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. JSON建构于两种结构:json是Javascript中的对象和数组中的对象, ...

  8. python 处理json数据

    python 处理json数据 json官网:https://www.json.org/json-en.html 1. json数据格式 json的数据格式有2种,分别是: 对象(object):用大 ...

  9. python json 转csv_利用python将json数据转换为csv格式的方法

    假设.json文件中存储的数据为: {"type": "Point", "link": "http://www.dianping. ...

最新文章

  1. 不要做浮躁的嵌入式系统工程师
  2. nbu oracle 冷备_NBU备份系统应用操作手册..doc
  3. java常见错误--Access restriction: The type BASE64Encoder
  4. 今天去团省委维护网站
  5. 工厂模式 构建者模式_实践中的构建者模式
  6. [转]leo谈“80后”程序员为什么找不到工作?(1)
  7. .NET中过滤TextBox中输入的html标签
  8. SQL server中关于年月日周的添加
  9. java从文件读入个人信息_Nacos 作为配置中心 读取Properties配置信息
  10. 关键词组合工具_凭技术做外贸:关键词优化的高效工具推荐
  11. 联想 M7400 pro Linux下 CUPS 驱动安装
  12. Power Query M语言全部list函数,快速分类掌握
  13. 用Python简单的实现AM调制信号波形的变化
  14. Java中查看今天周几
  15. RHY融获基金数字资产投资,海外扩建加速
  16. RGMII_PHY测试笔记1 基于开发板MiS603-X25
  17. 第43期ACM_ICPC亚洲区域赛(焦作站)感想
  18. Python绘图一条龙--大小/坐标/标签/多图布局/配色方案等
  19. Python 视频转换为图片 与 图片转换为视频
  20. (附源码)Springboot校园商铺系统 毕业设计 052145

热门文章

  1. PSINS运动轨迹与惯性器件信息生成仿真
  2. 怎么在虚拟机上部署你自己的项目?
  3. HttpRunner V3.x 从入门到精通
  4. 我们如何看待现阶段的人工智能?
  5. Java实现ASCII与String字符串互相转换
  6. CLR via C#-基元类型、引用类型和值类型
  7. Linux and CDO处理
  8. 香港理工大学林婉瑜博士实验室招收全奖博士生/博士后
  9. 从C到Carry-----礼炮问题(if 硬刚所有条件)
  10. java分布式事务——最终一致性,最大努力通知总结!