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

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: Python中如何快速解析JSON对象数组

由于浏览器可以迅速地解析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() 方法进行解析,然后打印输出中显示的数据。

示例代码:

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 来解析数组中的值。

示例代码:

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}
  ]
} #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}")

输出:

Order #1: 151, Order #2: 120, Total Orders: 4
相关文章
|
22天前
|
Python
python对象模型
这篇文章介绍了Python中的对象模型,包括各种内置对象类型如数字、字符串、列表、字典等,以及如何使用`type()`函数来查看变量的数据类型。
|
7天前
|
JavaScript
js 解析 byte数组 成字符串
js 解析 byte数组 成字符串
|
21天前
|
Python
探索Python中的魔法方法:打造你自己的自定义对象
【8月更文挑战第29天】在Python的世界里,魔法方法如同神秘的咒语,它们赋予了对象超常的能力。本文将带你一探究竟,学习如何通过魔法方法来定制你的对象行为,让你的代码更具魔力。
37 5
|
20天前
|
存储 JSON API
淘系API接口(解析返回的json数据)商品详情数据解析助力开发者
——在成长的路上,我们都是同行者。这篇关于商品详情API接口的文章,希望能帮助到您。期待与您继续分享更多API接口的知识,请记得关注Anzexi58哦! 淘宝API接口(如淘宝开放平台提供的API)允许开发者获取淘宝商品的各种信息,包括商品详情。然而,需要注意的是,直接访问淘宝的商品数据API通常需要商家身份或开发者权限,并且需要遵循淘宝的API使用协议。
淘系API接口(解析返回的json数据)商品详情数据解析助力开发者
|
6天前
|
JSON 前端开发 JavaScript
解析JSON文件
解析JSON文件
27 9
|
21天前
|
存储 数据处理 索引
如何删除 Python 数组中的值?
【8月更文挑战第29天】
24 8
|
21天前
|
索引 Python
向 Python 数组添加值
【8月更文挑战第29天】
26 8
|
21天前
|
存储 缓存 C语言
|
21天前
|
存储 测试技术 Python
Python 数组和列表有什么区别?
【8月更文挑战第29天】
25 4
|
20天前
|
存储 程序员 Python
Python类的定义_类和对象的关系_对象的内存模型
通过类的定义来创建对象,我们可以应用面向对象编程(OOP)的原则,例如封装、继承和多态,这些原则帮助程序员构建可复用的代码和模块化的系统。Python语言支持这样的OOP特性,使其成为强大而灵活的编程语言,适用于各种软件开发项目。
15 1

热门文章

最新文章