详解Python如何解析JSON中的对象数组

 更新时间:2023年10月19日 08:01:34   作者:迹忆客  
这篇文章主要为大家详细介绍了如何使用Python的JSON模块传输和接收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如何解析JSON中的对象数组的文章就介绍到这了,更多相关python解析json对象数组内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python3.x读写文件及BOM处理详解

    python3.x读写文件及BOM处理详解

    这篇文章主要为大家详细介绍了python3.x读写文件及BOM处理的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-01-01
  • 一行代码python实现文件共享服务器

    一行代码python实现文件共享服务器

    这篇文章主要介绍了一行代码python实现文件共享服务器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • python接收/发送QQ邮箱保姆级教程

    python接收/发送QQ邮箱保姆级教程

    我们在日常python开发过程中,需求中常有实现发送邮箱的功能,可以说是非常常见,也非常重要的功能,下面这篇文章主要给大家介绍了关于python接收/发送QQ邮箱保姆级教程的相关资料,需要的朋友可以参考下
    2024-03-03
  • python3爬虫怎样构建请求header

    python3爬虫怎样构建请求header

    在本篇内容里小编给大家分享了关于python3爬虫怎样构建请求header的知识点,需要的朋友们学习下。
    2018-12-12
  • python 中yaml文件用法大全

    python 中yaml文件用法大全

    本文主要是总结yaml常用的一些数据形式,对于我们正常的项目使用,已经足够用了,接下来通过本文给大家分享python 中yaml文件用法,需要的朋友参考下吧
    2021-07-07
  • 对numpy Array [: ,] 的取值方法详解

    对numpy Array [: ,] 的取值方法详解

    今天小编就为大家分享一篇对numpy Array [: ,] 的取值方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Python实现密钥密码(加解密)实例详解

    Python实现密钥密码(加解密)实例详解

    这篇文章主要介绍了Python实现密钥密码(加解密),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • PyTorch中torch.no_grad()用法举例详解

    PyTorch中torch.no_grad()用法举例详解

    这篇文章主要介绍了PyTorch中torch.no_grad()用法的相关资料,torch.no_grad()是PyTorch的上下文管理器,用于临时禁用自动梯度计算,减少内存消耗并加快计算速度,它适用于模型评估或推理阶段,可以显著提高效率,需要的朋友可以参考下
    2024-09-09
  • python shutil.move移动文件或目录方式

    python shutil.move移动文件或目录方式

    `shutil.move()`函数可以移动文件或目录,移动目录时,如果目标目录不存在,会创建该目录并将源目录内容移动到新目录;如果目标目录存在,则将源目录移动到目标目录下,移动文件时,如果目标路径是目录,则将文件移动到该目录下并重命名
    2024-12-12
  • python装饰器使用方法实例

    python装饰器使用方法实例

    这篇文章主要介绍了python装饰器的使用方法,大家参考使用
    2013-11-11

最新评论