前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python中如何快速解析JSON对象数组

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

原创
作者头像
Python学习者
发布2023-09-27 18:53:54
3970
发布2023-09-27 18:53:54
举报
文章被收录于专栏:Python学习者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来进行处理。

有几件事情我们必须最初设置好。首先制作一个Python文件,它将包含这些练习的代码。然后,在该文件中导入JSON模块。

JSON对象

由于浏览器可以迅速地解析JSON对象,它们有助于在客户端和服务器之间传输数据。字符串、整数(浮点数或英寸)、布尔值、列表、空或另一个JSON对象都是JSON对象键的可接受值。

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

示例代码:

代码语言:python
复制
import json
json_string = """
{
    "Student": {
        "ID" : "3",
        "name": "kelvin",
        "Group": "A",
        "Program" : "BSSE"
    }
}
"""
data = json.loads(json_string)
print (data)

输出:

代码语言:python
复制
{'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
复制
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)

输出:

代码语言:python
复制
{'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
复制
import json
json_str = """
{
  "Orders": [
    {"Id": 151},
    {"Id": 120},
    {"Id": 131},
    {"Id": 114}
  ]
} #Python小白学习交流群:711312441
"""''
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}")

输出:

代码语言:python
复制
Order #1: 151, Order #2: 120, Total Orders: 4

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JavaScript Object Notation
  • JSON对象
  • 解析JSON数组的对象
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档