当前位置:首页 > 编程技术 > 正文内容

用于从 JSON 响应中提取单个值的 Python 程序

yc8881年前 (2023-07-15)编程技术258

用于从 JSON 响应中提取单个值的 Python 程序

值提取是一个非常流行的编程概念,它用于各种操作。但是,从 JSON 响应中提取值是一个完全不同的概念。它帮助我们构建逻辑并在复杂数据集中定位特定值。本文将介绍可用于从 JSON 响应中提取单个值的各种方法。在开始值提取之前,让我们重点了解 JSON 响应的含义。

什么是 JSON 响应?

JSON(JavaScript 对象表示法)响应是一种被广泛接受的数据格式,服务器通过它响应客户端的请求。每当客户端从服务器请求某些 API 或信息时,都会生成响应并将 API 传递给客户端。现在,这些信息的共享方式使客户端和服务器都可以理解数据,为此我们需要统一的数据格式。

JSON 响应以 JSON 对象的形式共享信息,这些对象可以转换为任何本地编程语言。由于我们使用的是python,我们的任务是从这个响应中检索单个值,我们将这些对象转换为字典。现在我们已经简要了解了 JSON 响应,让我们了解提取部分。

使用 API 从 JSON 响应中提取值

在这种方法中,我们将使用 API 端点从服务器检索数据。首先,我们将导入“请求”库来处理 HTTP 请求。然后,我们将使用 “get()” 方法向 API 端点发送 “GET” 请求。在此示例中,我们将使用“CoinDesk”API端点实时获取比特币价格指数(BPI)。JSON 对象在“json()”方法的帮助下转换为字典。然后解析这些词典以选择特定信息。

在这里,我们将通过访问嵌套对象来提取 BPI 值。字典键引用某些属性和属性,其值引用不同的数据类型。我们将使用键来提取单个和多个值。有关官方文档,请参阅此链接 − https://apipheny.io/free-api/

API 网址链接 −https://api.coindesk.com/v1/bpi/currentprice.json

下面是一个使用“CoinDesk”API从JSON响应中提取单个值的示例 -

import requests print("Welcome to the live bitcoin Price index") Json_data = requests.get('https://api.coindesk.com/v1/bpi/currentprice.json').json() Disclaimer = Json_data["disclaimer"] print(Disclaimer) BPI = Json_data["bpi"]["USD"]["rate"] print(f"The real time BPI value for the United states of America is: {BPI}") TIME = Json_data["time"]["updated"] print(f"The index was viewed at Universal time: {TIME}")

输出

Welcome to the live bitcoin Price index This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org The real time BPI value for the United states of America is: 25,978.6344 The index was viewed at Universal time: Jun 11, 2023 18:26:00 UTC

从本地 JSON 文件中提取单个值

此方法侧重于从系统上存储的 JSON 文件中提取单个值。我们将首先创建一个 JSON 文件,然后导入 JSON 模块,用于从“JASON 响应”中解码检索到的数据。

这种方法类似于文件处理概念,其中我们加载 JSON 文件,然后在特定模式下打开它。我们还可以在不同的文件模式(例如“追加”,“二进制”,“只读”等)的帮助下更改此文件并操作其内容。我们将使用存储与猫相关的信息的本地文件 (DSC.json),我们将从名为“fact”的键中提取此信息。

下面是一个示例 -

import json try:    with open("DSC.json", "r+") as file:       Json_file = json.load(file)    FACTS = Json_file["fact"]    print(f"Here is a fact related to cats: \n{FACTS}") except:    print("File does not exist")

输出

Here is a fact related to cats:  Mountain lions are strong jumpers, thanks to muscular hind legs that are longer than their front legs.

其他见解

我们还可以通过将“JSON 对象”转储到元素中,然后在 “.loads()” 方法的帮助下将其加载到字符串中,将 JSON 数据转换为字符串而不是字典。程序员在使用这种值提取概念时最常犯的错误是他们使用错误的键名来访问值。此外,在处理嵌套对象时,我们必须使用正确的顺序进行数据提取。下面是一个例子——

data = Json_data["Parent object"]["Child object"]

这是提取正确值所遵循的层次结构。

结论

在本文的过程中,我们介绍了价值提取的基础知识,并了解了其重要性。我们还讨论了“JSON 响应”的机制以及如何从中提取单个值。在这 1方法,我们使用 API 端点从服务器检索数据。在 2德·方法,我们直接从本地存储的 JSON 文件中提取值。


本站发布的内容若侵犯到您的权益,请邮件联系站长删除,我们将及时处理!


从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!


本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。


本站资源仅供学习和交流使用,版权归原作者所有,请勿商业运营、违法使用和传播!请在下载后24小时之内自觉删除。


若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。


本文链接:https://www.10zhan.com/biancheng/10626.html

标签: Python
分享给朋友:

“用于从 JSON 响应中提取单个值的 Python 程序” 的相关文章

【说站】Thymeleaf报错Error resolving template “XXX”

【说站】Thymeleaf报错Error resolving template “XXX”

修改了一下开源项目的目录结构访问突然报错Error resolving template “XXX”可能原因有如下三种:第一种可能:原因:在使用springboot的过程中,如果使用thymeleaf...

【说站】用一句话就可以去除宝塔面板操作上的二次验证

【说站】用一句话就可以去除宝塔面板操作上的二次验证

用过宝塔的朋友应该都会发现,现在宝塔面板有些鸡肋的功能,删除文件、删除数据库、删除站点等操作都需要做计算题!不仅加了几秒的延时等待,还无法跳过!这时候就会有朋友在想,如何去除宝塔面板的二次验证,此篇文...

【说站】Centos8.0如何配置静态IP详解及永久关闭防火墙

【说站】Centos8.0如何配置静态IP详解及永久关闭防火墙

这篇文章主要介绍了详解Centos8 配置静态IP的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来学习一下!1. 查看自己的网关地址点击虚...

【说站】利用Webhook实现Java项目自动化部署

【说站】利用Webhook实现Java项目自动化部署

用webhook就能实现Java项目自动部署,其实原理很简单。费话不多说,直接往下看教程。1. 创建gitee仓库并初始化2. 在linux安装git3. 在宝塔的软件的商店里下载Webhook4....

【说站】电脑安装MySQL时出现starting the server失败原因及解决方案

【说站】电脑安装MySQL时出现starting the server失败原因及解决方案

今天在安装MySQL时出现starting the server失败,经过查询分析得出以下结论,记录一下操作步骤。原因分析:如果电脑是第一次安装MySQL,一般不会出现这样的报错。如下图所示。star...

【说站】vagrant实现linux虚拟机的安装并配置网络

【说站】vagrant实现linux虚拟机的安装并配置网络

一、VirtualBox的下载和安装1、下载VirtualBox官网下载:https://www.virtualbox.org/wiki/Downloads我的电脑是Windows的,所以下载Wind...