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

news2024/11/26 16:46:26

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

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.coloradmin.cn/o/1075681.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

优思学院|揭秘六西格玛:七大迷思你不可不知!

六西格玛的核心理念起源于1970年在摩托罗拉公司诞生。其基本精神一直是持续改进和提升品质,随后在各国呈爆炸性的发展。自2000年开始引进中国后,已经过了约16年的应用。但以2017年的角度回顾中国整体六西格玛的应用广度及熟悉度,发现六西格玛…

【ftp篇】 vsftp(ftp) 每天生成一个动态密码

这里写目录标题 前言为什么需要动态每日生成一个密码?编写脚本定时任务java对应的代码 前言 社长最近接到一个需求,需要ftp每天动态生成一个密码 为什么需要动态每日生成一个密码? 在软硬件通讯过程中,就以共享单车为例&#xff0…

Java解析E文件工具类

import lombok.extern.slf4j.Slf4j;import java.io.*; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Arrays; import java.util.List;/*** Description E文件工具类*/ Slf4j public class EFileUtils {/*** 读字符串* param text …

智慧公厕的原理与优势,了解一种更智能的卫生设施

智慧公厕是一种基于现代科技的智能化卫生设施,它的出现给人们的生活带来了巨大的改变和便利。本文将详细介绍智慧公厕的原理和优势,让我们一起了解一种更智能的卫生设施。 智慧公厕的原理主要基于物联网技术。通过将公厕内部各种设备和设施连接到互联网…

Java使用Hutool工具包将汉字转换成汉语拼音

主题:使用Java将汉字转换成拼音 介绍 在Java开发中,有时候我们需要将汉字转换成拼音,以方便进行数据处理、搜索和排序等操作。本文将介绍如何使用Hutool和Pinyin4j这两个Java库来实现汉字转拼音的功能。 依赖库介绍 在开始之前,…

无人直播矩阵系统源码开发------

全自动无人直播系统是一款让商家和企业实现无人直播的系统软件,让商家在门店直播卖货,实现解放双手,无需过多的人工干预。为了满足不同用户的需求,我们推出了OEM功能,让用户可以轻松地将该系统集成到自己的应用程序中。…

软考高项-第九章:项目范围管理

重要知识点: 以上总结,仅供参考。

视频通话中的Camera操作

视频通话也有打开本地摄像头预览的场景,但打开本地Camera预览逻辑,并非在Dailer APP中实现,具体流程图如下。 Dialer app中只调用 1、setCamera用于打开摄像头 相关动作在Ims apk中实现,open函数最后调用了VTSource.java中的doOp…

Python+Pickle/Parquet/HDF5...不同文件格式存储模式下的量化因子计算性能对比

在量化交易中,基于金融市场 L1/L2 报价和交易高频数据进行高频因子计算是一项常见的投研需求。随着金融市场数据量的不断增加,传统的关系数据库已经难以满足大规模数据的存储和查询需求。为了应对这一挑战,一部分用户选择了分布式文件系统&am…

2023年中国在线语言教育行业发展趋势分析:预计2026年在线语言教育市场规模有望实现1182.3亿元[图]

在线语言教育是指在信息化时代的背景下,使用电脑、手机、平板等基于网络的工具在任何地方、任何时间都可以对语言进行学习的一种教育方式,包括校内在线语言教育和校外在线语言教育。在线语言教育是对未来教育模式的探索,以数字化为杠杆&#…

03_学习springdoc与微服务结合_简述

文章目录 1 前言2 基本结构3 网关的配置3.1 ✍️ pom.xml 引入依赖3.2 🌿 application.yml 的配置3.2.1 Gateway 的配置3.2.2 Eureka Client 的配置3.2.3 Springdoc 的配置 3.3 Springdoc 配置类 4 影片服务 backend-film 的配置4.1 ✍️ pom.xml 引入依赖4.2 &…

Go语句与表达式深度解析:全案例手册

目录 语句1. 声明语句1.1 变量声明1.2 常量声明 2. 赋值语句3. 控制流语句3.1 条件语句if语句switch语句 3.2 循环语句for语句 3.3 跳转语句break语句continue语句return语句goto语句 4. 其他语句4.1 defer语句4.2 go语句 实战案例 表达式介绍、详解、举例1. 基础表达式1.1 字面…

在线免费无时长限制录屏工具 - 录猎在线版

需要录屏的小伙伴注意啦,想要长时间录制又不想花钱的,可以看下这款在线版录屏软件 —— 录猎在线版,一个录屏软件所需要的基本功能它都有,设置录制范围、录制的声音来源、摄像头也能录制的。同时它是支持Windows和Mac系统的&#…

Flink session集群运维

1、集群job manager挂了 kubectl describe pod session-deployment-only-84b8d674c7-ckl9w -n flink kubectl get pod -n flink -owide kubectl describe pod session-deployment-only-84b8d674c7-ms758 -n flink 两个job manager都挂了 准备重新部署集群 删除操作(删除fli…

GTX314L国产替代SI314—低功耗14通道电容触摸传感器芯片

Si314是一款具有自动灵敏度校准功能的14通道电容传感器,其工作电压范围为1.8~5.5V。 Si314设置休眠模式来节省功耗,此时,功耗电流为10uA3.3V。 Si314各个感应通道可实现独立使能、校准、灵敏度调节,可以确保可靠性,且具…

Mysql创建新用户控制权限信息

目录 登录 进入mysql数据库 创建新用户及设置密码 设置用户可远程连接登录 刷新权限 限制新用户只能从特定的主机或IP地址访问MySQL服务器 限制用户只对特定数据库的访问权限 限制用户只能访问特定数据库中的特定表 撤销给用户授予的特定权限 查看用户的权限信息 注 …

力扣:129. 求根节点到叶节点数字之和(Python3)

题目: 给你一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字。 每条从根节点到叶节点的路径都代表一个数字: 例如,从根节点到叶节点的路径 1 -> 2 -> 3 表示数字 123 。 计算从根节点到叶节点生成的 所…

Android攻城狮学鸿蒙-配置

1、config.json配置 鸿蒙中的config.json应该类似于Android开发中Manifest.xml,可以进行页面的配置。根据顺序,会识别启动应用的时候,要打开哪个界面。 2、 Ability详解,以及与Android的Activity对比。 他人的学习文章连接&…

【运维日常】运维必备的 免费 在线画图工具,真的很好用!

本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》:python零基础入门学习 《python运维脚本》: python运维脚本实践 《shell》:shell学习 《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战 《k8…

外贸客户开发信怎么写?如何撰写营销邮件?

外贸客户开发信模板有哪些?高回复率的开发信技巧? 外贸客户开发信是一项至关重要的工作。这封信通常是你与潜在客户建立联系的第一步,因此必须仔细策划和撰写。蜂邮EDM将介绍如何写一封令人印象深刻的外贸客户开发信,以吸引潜在客…