在 Python 中解析 JSON 对象数组
由于浏览器可以快速解析 JSON 对象,因此它们有助于在客户端和服务器之间传输数据。 本文将介绍如何使用Python的JSON模块传输和接收JSON数据。
JavaScript 对象表示法
JSON(JavaScript Object Notation)是一种数据交换语法,易于人们读写,易于计算机解析和生成并存储数据。
它是一种不偏向语言的全文格式。 此外,Python 还包含一个名为 json 的库,我们可以使用它与 JSON 数据进行交互。
JSON 的语法被视为 JavaScript 语法的一部分,其中还包括名称和值,因为名称前面有冒号 (:) 来表示数据,名称:值对之间用逗号分隔。
对象位于大括号中,而数组元素位于方括号中,其中用逗号分隔每个值。 在开始解析 JSON 之前,Python 需要一些 JSON 来处理。
我们必须首先设置一些东西。 首先创建一个 Python 文件,其中包含这些练习的代码。 然后,导入文件中的 JSON 模块。
Python 中的 JSON 对象
由于浏览器可以快速解析 JSON 对象,因此它们有助于在客户端和服务器之间传输数据。 字符串、整数(浮点数或整数)、布尔值、列表、null 或其他 JSON 对象都是 JSON 对象键可接受的值。
在下面的示例中,创建了一个由字典填充的对象 json_string,将使用 json.load()
方法解析该对象中的数据,然后打印输出中显示的数据。
示例代码:
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'}}
在 Python 中解析 JSON 对象数组
JSON 数组的结构与 Python 括号列表的结构相同。 它们可能包括嵌套数组和与 JSON 对象字段值相同的数据类型。 使用内置包 json 的 json.loads()
函数将 JSON 字符串转换为 Python 对象。
JSON 数据字符串由 json.loads()
函数解析,然后该函数提供包含 JSON 中所有数据的 Python 字典。 您可以通过使用名称或索引来引用对象,从该 Python 字典中获取解析后的数据。
我们还可以检查字典中的嵌套 JSON 项。 使用关联的方法 json.load()
解析 JSON 文件(不带 s)。 在下面的示例中,我们使用 json.loads 来解析数组中的值。
示例代码:
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 数组中获取元素。
示例代码:
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
相关文章
在 Python 中等待 5 秒
发布时间:2023/06/28 浏览次数:149 分类:Python
-
本篇文章将讨论如何在 Python 中等待 5 秒。在 Python 中使用 time.sleep() 函数等待 5 秒 Python 的 time 模块提供了存储和操作时间的功能和对象。
Python 中的模糊字符串匹配
发布时间:2023/06/28 浏览次数:87 分类:Python
-
今天,我们将学习如何使用 thefuzz 库,它允许我们在 python 中进行模糊字符串匹配。 此外,我们将学习如何使用 process 模块,该模块允许我们借助模糊字符串逻辑有效地匹配或提取字符串。Py
在 Python 中执行 Shell 命令并获取输出
发布时间:2023/06/28 浏览次数:81 分类:Python
-
在本文中,我们将学习如何借助 os.system() 从 Python 脚本执行 cmd 命令。 我们还将学习如何借助 Python 中的 subprocess 模块以更简单的方式从脚本执行 cmd 命令。从 Python 脚本执行 CMD 命令并使用 os
Python 中的 Monkey 补丁
发布时间:2023/06/28 浏览次数:186 分类:Python
-
本文解释了什么是Monkey补丁以及如何在 Python 中实现它。 它有两个部分; 第一个演示了函数中的Monkey修补,第二个演示了如何在文件的单元测试中实现它。
Python 中的 Mock 和 Patch 之间的区别
发布时间:2023/06/28 浏览次数:182 分类:Python
-
在 Python 中,我们有一个称为单元测试的过程,其中包含模拟和补丁函数。 本文将讨论这两个角色的用途和区别。Python 中 Mock 和 Patch 对象库的用途和区别
在 Python 中使用 SciPy、NumPy 和 Pandas 存储数据
发布时间:2023/06/28 浏览次数:184 分类:Python
-
我们将了解为什么需要数据分箱以及哪种技术最适合哪种情况。Python 中的分箱 分箱是推断不同变量关系的最强大的分析技术之一。分箱是一种非参数且高度灵活的技术,其中变量被分类为不同
在 Python 中使用 Fsolve
发布时间:2023/06/28 浏览次数:65 分类:Python
-
本文将探讨如何使用 fsolve 在 Python 中求解。 我们还将探索它的使用场景和一些示例代码,以更好地理解如何以及何时使用它来达到某种结果。让我们首先了解 fsolve 是什么以及为什么使用它。
在 Python 中创建 Getter 和 Setter
发布时间:2023/06/28 浏览次数:172 分类:Python
-
这些行为在支持 OOP 的编程语言中很流行,Python 也支持它。 本文将讨论如何在 Python 中创建 getter 和 setter。Python 中的 Getter 和 Setter
从 Java 代码调用 Python 脚本
发布时间:2023/06/28 浏览次数:93 分类:Python
-
本篇文章介绍了从 Java 代码调用 Python 脚本的三种不同方法。从 Java 代码调用 Python 脚本 有时,我们必须从Java代码中调用Python脚本来满足项目需求。