Python中如何快速解析JSON对象数组

嗨喽~大家好呀,这里是魔王呐 ❤ ~!

python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取

由于浏览器可以迅速地解析JSON对象,它们有助于在客户端和服务器之间传输数据。

本文将描述如何使用Python的JSON模块来传输和接收JSON数据。

JavaScript Object Notation

JSON (JavaScript Object Notation)是一种用于数据交换的语法,它对人的读写很简单,对计算机的解析和生产也很简单,而且还可以存储数据。

它是一种不偏向语言的全文格式。

此外,Python包括一个名为json 的库,我们可以用它来与JSON数据进行交互。

JSON的语法被认为是JavaScript语法的一部分,它还包括name 和value ,因为name 在表示数据时前面有一个冒号(😃,name: value 对被逗号分割。

对象在大括号中,而数组元素住在方括号中,每个值之间用逗号隔开。

在开始解析JSON之前,Python需要一些JSON来进行处理。

有几件事情我们必须最初设置好:

  1. 首先制作一个Python文件,它将包含这些练习的代码。

  2. 然后,在该文件中导入JSON模块。

JSON对象

由于浏览器可以迅速地解析JSON对象,它们有助于在客户端和服务器之间传输数据。

字符串、整数(浮点数或英寸)、布尔值、列表、空或另一个JSON对象都是JSON对象键的可接受值。

在下面的例子中,创建了一个由字典填充的对象json_string ,该对象中的数据将通过使用json.load() 方法进行解析,然后打印输出中显示的数据。

示例代码:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import json
json_string = """
{"Student": {"ID" : "3","name": "kelvin","Group": "A","Program" : "BSSE"}
}
"""
data = json.loads(json_string)
print (data)

输出:

{'Student': {'ID': '3', 'name': 'kelvin', 'Group': 'A', 'Program': 'BSSE'}}

解析JSON数组的对象

JSON数组的结构与Python括号内的列表的结构相同。

它们可能包括嵌套数组和与JSON对象字段值相同的数据类型。

使用内置包json 的json.loads() 函数,将一个JSON字符串转化为Python对象。

JSON数据字符串由json.loads() 函数解析,然后提供一个包含JSON中所有数据的Python字典。

你可以通过使用名字或索引来引用对象,从这个 Python 字典中获得解析的数据。

我们还可以检查字典中的嵌套JSON项目。

使用相关的方法json.load() 来解析一个JSON文件(没有s)。

在下面的例子中,我们使用json.loads 来解析数组中的值。

示例代码:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import json
json_string = """
{"Student": {"ID" : "3","name": "kelvin","Group": "A","Program" : "BSSE","cars": [{"model": "BMW 330e", "mpg": 143},{"model": "Rolls-Royce Phantom EWB", "mpg": 18}]}
}
"""
data = json.loads(json_string)
print (data)

输出:

{'Student': {'ID': '3', 'name': 'kelvin', 'Group': 'A', 'Program': 'BSSE', 'cars': [{'model': 'BMW 330e', 'mpg': 143}, {'model': 'Rolls-Royce Phantom EWB', 'mpg': 18}]}}

这个例子通过JSON解码器将JSON数组转换为Python数组数据类型。

在Python对象中使用其索引可以从JSON数组中获得一个元素。

示例代码:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import json
json_str = """
{"Orders": [{"Id": 151},{"Id": 120},{"Id": 131},{"Id": 114}]
}
"""''
data = json.loads(json_str)
order_1_id = data['Orders'][0]['Id']
order_2_id = data['Orders'][1]['Id']
order_3_id = data['Orders'][0]['Id']
order_4_id = data['Orders'][1]['Id']
total = len(data['Orders'])
print(f"Order #1: {order_1_id}, Order #2: {order_2_id}, Total Orders: {total}")

输出:

Order #1: 151, Order #2: 120, Total Orders: 4

尾语

最后感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/128929.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

gici-open示例数据运行(ground_truth坐标的转换)

1. 坐标系转换说明 涉及的两个坐标转换: nmea_pose_to_pose :激光IMU中心到数据集IMU中心,主要是杆臂误差,转换关系为: //坐标转换的主要步骤(若发现有错误的地方,请评论指出) //定义激光IMU和数据集IMU之…

Java Agent之ByteBuddy

1:前言 在上一篇文章介绍 Java Agent 技术时,结合 Byte Buddy 技术实现了统计方法执行时间的功能。本次分享深入介绍 Byte Buddy 的一些基础知识,SkyWalking Agent 强大的地方就是重度使用该工具实现探针数据动态生成代码填充参数的。 2&am…

指定加拿大|环境科学老师获阿尔伯塔大学邀请函

U老师入选了省公派出国项目,其指定加拿大,并要求专业为世界排名领先,或者是能填补国内科研和技术空白的短板学科。我们利用广泛资源,开展精准申请,先后得到多所大学反馈,并获得4所大学的邀请函,…

怎么压缩pdf文件?分享缩小pdf文件的简单方法

在我们的日常生活和工作中,往往需要处理大量的PDF文件,而很多时候这些文件的大小会成为传输和存储的难题。为了解决这个问题,下面我们将介绍三种方法来压缩PDF文件,一起来看看吧~ 一、嗨格式压缩大师 首先,最简单也是…

STM32实战项目——WIFI远程开关灯

前言 其实WIFI开关灯在几个月前就想做了,但是对于没有云平台调试经验的我,一开始有些摸不着头脑,所以就搁置了。十一假期与老同学聊天时了解到他也在做一个远程开关灯的小项目,所以就重新开始了WIFI远程开关灯的小项目。 本文使用…

2023旅游产业内容营销洞察报告:如何升级经营模式,适配社媒新链路

2023年我国旅游业强劲复苏,上半年旅游消费增长显著,政府出台一系列文旅扶持政策后,旅游业也在积极寻求数字化转型的升级方式。 上半年以旅游消费为代表的服务业对经济的增长贡献率超过60%,旅游企业普遍实现经营好转,企…

开源联合、聚力共赢丨2023 CCF中国开源大会会议通知(第二轮)

会议简介 2023 CCF中国开源大会(CCF ChinaOSC)拟于2023年10月21日至22日在湖南省长沙市北辰国际会议中心召开。大会由中国计算机学会(CCF)与开放原子开源基金会主办,CCF开源发展委员会、湖南先进技术研究院承办&#…

什么是兼容性测试? 有哪些方法?

在现今数字化世界中,软件和应用程序的多样性和复杂性已经达到了前所未有的高度。不同的操作系统、浏览器、设备和网络环境使得开发人员面临着严峻的挑战,即如何确保他们的软件在各种不同条件下都能正常运行。这就是兼容性测试的重要性所在。 一、什么是兼…

使用docker搭建nacos单机、集群 + mysql

单机搭建 1 拉取mysql镜像 docker pull mysql:5.7.40 2 启动mysql容器 docker run -d --namemysql-server -p 3306:3306 -v mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD123456 mysql:5.7.40 3 执行nacos的数据库脚本 /* * Copyright 1999-2018 Alibaba Group Holding L…

这是要被奖金给砸晕啊......

嗨咯,大家好,我是K同学啊! 由于最近训练营中经常有同学问我,有哪些比较好的知识变现且可以提升自己专业水平的渠道,这几天整理出了一个个人认为还不错的关于深度学习方面的大赛(就奖金比较多而已&#xff…

使用GitLab CI/CD 定时运行Playwright自动化测试用例

创建项目并上传到GitLab npm init playwright@latest test-playwright # 一路enter cd test-playwright # 运行测试用例 npx playwright test常用指令 # Runs the end-to-end tests. npx playwright test# Starts the interactive UI mode. npx playwright

Nmap扫描教程-01

Nmap扫描教程 SYN扫描操作及原理(半连接扫描) 1. 第一步打开wireshark选着你要监听网卡 2. 在kail中输入命令找到我们需要扫描主机的ip地址 arp-scan -l -I eth1 3. 在kail中输入命令进行SYN半连接扫描 nmap -sS -p80 --reason -vvv 172.30.1.128 -s…