首頁 >後端開發 >Python教學 >Python程式從JSON回應中提取單一值

Python程式從JSON回應中提取單一值

PHPz
PHPz轉載
2023-09-03 10:49:061521瀏覽

Python程式從JSON回應中提取單一值

值提取是一個非常流行的程式設計概念,它被用於各種各樣的操作中。然而,從 JSON 回應 中提取值是一個不同的概念。它幫助我們在複雜的資料集中建立邏輯並定位特定值。本文將解釋可用於從 JSON 回應中提取單一值的各種方法。在開始值提取之前,讓我們先專注於了解 JSON 回應的含義。

什麼是 JSON 回應?

JSON(JavaScript 物件表示法)回應是一種廣泛接受的資料格式,伺服器透過它回應客戶端的請求。每當客戶端向伺服器請求某些 API 或資訊時,就會產生回應並將 API 傳遞給客戶端。現在,這些資訊以客戶端和伺服器都能理解資料的方式共享,為此我們需要統一的資料格式。

JSON 回應以 JSON 物件 的形式共享訊息,這些訊息可以轉換為任何本地程式語言。由於我們使用的是 python 並且我們的任務是從此回應中檢索單一值,因此我們將這些物件轉換為字典。現在我們已經了解了 JSON 回應的簡要知識,讓我們了解提取部分。

使用 API 從 JSON 回應中提取值

在此方法中,我們將使用 API 端點從伺服器檢索資料。首先,我們將匯入「requests」庫來處理HTTP請求。然後,我們將使用「get()」方法向 API 端點發送「GET」請求。在此範例中,我們將使用「CoinDesk」API 端點來即時取得比特幣價格指數 (BPI)。 JSON 物件藉助「json()」方法轉換為字典。然後解析這些字典以選擇特定資訊。

在這裡,我們將透過存取嵌套物件來提取 BPI 值。字典鍵指的是某些屬性和屬性,它們的值指的是不同的資料類型。我們將使用鍵來提取單一和多個值。請參閱此連結以取得官方文件 - https://apipheny.io/free-api/

API URL 連結 -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 資料轉換為字串而不是字典,方法是將「JSON 物件」轉儲到元素中,然後藉助「.JSON」將其載入到字符串中。 load()」方法。程式設計師在使用值提取概念時最常犯的錯誤是他們使用錯誤的鍵名稱來存取值。此外,在處理嵌套物件時,我們必須使用正確的順序來提取資料。以下是一個範例–

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

這是提取正確值時所遵循的層次結構。

結論

在本文中,我們介紹了價值提取的基礎知識並了解其重要性。我們也討論了「JSON 回應」的機制以及如何從中提取單一值。在第一種方法中,我們使用 API 端點從伺服器檢索資料。在第二種nd方法中,我們直接從本機儲存的 JSON 檔案中提取值。

以上是Python程式從JSON回應中提取單一值的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除