」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何使用免費字典API

如何使用免費字典API

發佈於2024-11-08
瀏覽:942

How to use Free dictionary API

封面照片由 Christopher Gower 在 Unsplash 上拍攝

您是否正在開發語言學習應用程式、寫作助理或任何涉及單字並需要 API 來檢索單字意義的項目?免費字典 API 提供了一種免費且易於存取的方式,將語言資料合併到您的作品中。本文檔將向您展示如何開始。

在此 API 文件中:

  • 關於免費字典API
  • 端點
  • 範例
  • 其他資源

關於免費字典 API:

由 meetDeveloper 開發的免費字典 API,在 GitHub 上擁有 2,600 顆星。 API 僅支援 GET 請求,並提供單字定義和音標。

主要特點:

  • 免費使用
  • 無使用限制
  • 無授權或 API 金鑰

端點

https://api.dictionaryapi.dev/api/v2/entries/en/
  • 此端點檢索指定英文單字的字典資訊。

  • API有兩個版本:v1和v2。主要區別在於響應結構。目前版本是 v2。

查詢參數

  • word(字串,必填):要找的單字。

回應格式

API傳回一個JSON數組,其中包含單個對象,其中包含有關單字的詳細信息,包括:

如果請求成功:

  • word(string): 查詢的字
  • voicetic(string): 字的音標
  • voicetics(array): 語音物件數組,每個物件包含:
  • text(string): 音標
  • 音訊(字串):音訊發音的 URL(可為空)
  • 意義(陣列):表示意義的物件陣列
  • partOfSpeech(字串):詞性(如名詞、動詞)
  • 定義(數組):定義物件的數組,每個物件包含:
  • 定義(字串):單字的定義
  • synonyms(array): 同義詞數組
  • antonyms (array): 反義詞陣列
  • 許可證(對象):有關提供資料的許可證的資訊
  • sourceUrls (array): 資料來源的 URL 陣列

如果請求不成功:

  • title(字串):一則訊息,指示未找到單字
  • 的定義
  • message(字串):未找到該單字的定義的訊息
  • 解決方案(字串):建議再次使用搜尋或網路。

範例:

請求範例 1(成功):

const word = "documentation";
fetch(`https://api.dictionaryapi.dev/api/v2/entries/en/${word}`)
  .then(response => response.json())
  .then(data => console.log(data));

回應範例 1:

[
  {
    "word": "documentation",
    "phonetic": "/ˌdɒkjʊmənˈteɪʃən/",
    "phonetics": [
      {
        "text": "/ˌdɒkjʊmənˈteɪʃən/",
        "audio": ""
      },
      {
        "text": "/ˌdɑkjəmənˈteɪʃən/",
        "audio": ""
      }
    ],
    "meanings": [
      {
        "partOfSpeech": "noun",
        "definitions": [
          {
            "definition": "Something transposed from a thought to a document; the written account of an idea.",
            "synonyms": [],
            "antonyms": []
          },
          {
            "definition": "Documentary evidence and sources.",
            "synonyms": [],
            "antonyms": []
          },
          {
            "definition": "Documents that explain the operation of a particular machine or software program.",
            "synonyms": [],
            "antonyms": []
          },
          {
            "definition": "Comments that explain the usage of individual functions, libraries and blocks of code.",
            "synonyms": [],
            "antonyms": []
          }
        ],
        "synonyms": [],
        "antonyms": []
      }
    ],
    "license": {
      "name": "CC BY-SA 3.0",
      "url": "https://creativecommons.org/licenses/by-sa/3.0"
    },
    "sourceUrls": [
      "https://en.wiktionary.org/wiki/documentation"
    ]
  }
]

請求範例 2:

const word = "Software engineer";
fetch(`https://api.dictionaryapi.dev/api/v2/entries/en/${word}`)
  .then(response => response.json())
  .then(data => console.log(data));

回應範例 2(未成功):

{
  "title": "No Definitions Found",
  "message": "Sorry pal, we couldn't find definitions for the word you were looking for.",
  "resolution": "You can try the search again at later time or head to the web instead."
}

成功和錯誤代碼

該API目前不回傳特定的成功或錯誤代碼。

其他資源

要嘗試該 API 或支援 Free Dictionary API,請造訪 Free Dictionary API 網站。

另請參閱 Github 上的免費字典 API 專案。

版本聲明 本文轉載於:https://dev.to/trushmi/how-to-use-free-dictionary-api-gec?1如有侵犯,請洽[email protected]刪除
最新教學 更多>
  • 如何將來自三個MySQL表的數據組合到新表中?
    如何將來自三個MySQL表的數據組合到新表中?
    mysql:從三個表和列的新表創建新表 答案:為了實現這一目標,您可以利用一個3-way Join。 選擇p。 *,d.content作為年齡 來自人為p的人 加入d.person_id = p.id上的d的詳細信息 加入T.Id = d.detail_id的分類法 其中t.taxonomy ...
    程式設計 發佈於2025-04-12
  • 如何克服PHP的功能重新定義限制?
    如何克服PHP的功能重新定義限制?
    克服PHP的函數重新定義限制 但是,PHP工具腰帶中有一個隱藏的寶石:runkit擴展。它使您能夠靈活地重新定義函數。 runkit_function_renction_rename() runkit_function_redefine() //重新定義'this'以返回“新和...
    程式設計 發佈於2025-04-12
  • PHP陣列鍵值異常:了解07和08的好奇情況
    PHP陣列鍵值異常:了解07和08的好奇情況
    PHP數組鍵值問題,使用07&08 在給定數月的數組中,鍵值07和08呈現令人困惑的行為時,就會出現一個不尋常的問題。運行print_r($月)返回意外結果:鍵“ 07”丟失,而鍵“ 08”分配給了9月的值。 此問題源於PHP對領先零的解釋。當一個數字帶有0(例如07或08)的前綴時,PHP將...
    程式設計 發佈於2025-04-12
  • 為什麼不````''{margin:0; }`始終刪除CSS中的最高邊距?
    為什麼不````''{margin:0; }`始終刪除CSS中的最高邊距?
    在CSS 問題:不正確的代碼: 全球範圍將所有餘量重置為零,如提供的代碼所建議的,可能會導致意外的副作用。解決特定的保證金問題是更建議的。 例如,在提供的示例中,將以下代碼添加到CSS中,將解決餘量問題: body H1 { 保證金頂:-40px; } 此方法更精確,避免了由全局保證金重置...
    程式設計 發佈於2025-04-12
  • 版本5.6.5之前,使用current_timestamp與時間戳列的current_timestamp與時間戳列有什麼限制?
    版本5.6.5之前,使用current_timestamp與時間戳列的current_timestamp與時間戳列有什麼限制?
    在時間戳列上使用current_timestamp或MySQL版本中的current_timestamp或在5.6.5 此限制源於遺留實現的關注,這些限制需要對當前的_timestamp功能進行特定的實現。 創建表`foo`( `Productid` int(10)unsigned not ...
    程式設計 發佈於2025-04-12
  • 創建響應式縮略圖,保持原圖質量
    創建響應式縮略圖,保持原圖質量
    從上傳圖像使用php 檢索原始圖像:使用getimagesize()獲取原始圖像的尺寸和啞劇類型。像素)。 創建一個新的圖像資源:使用imageCreateTeTueColor()。 使用imagejpeg()或imagepng()將縮略圖保存到所需的位置。 維護原始圖像的質量,使用ImageJ...
    程式設計 發佈於2025-04-12
  • 找到最大計數時,如何解決mySQL中的“組函數\”錯誤的“無效使用”?
    找到最大計數時,如何解決mySQL中的“組函數\”錯誤的“無效使用”?
    如何在mySQL中使用mySql 檢索最大計數,您可能會遇到一個問題,您可能會在嘗試使用以下命令:理解錯誤正確找到由名稱列分組的值的最大計數,請使用以下修改後的查詢: 計數(*)為c 來自EMP1 按名稱組 c desc訂購 限制1 查詢說明 select語句提取名稱列和每個名稱...
    程式設計 發佈於2025-04-12
  • 如何有效地轉換PHP中的時區?
    如何有效地轉換PHP中的時區?
    在PHP 利用dateTime對象和functions DateTime對象及其相應的功能別名為時區轉換提供方便的方法。例如: //定義用戶的時區 date_default_timezone_set('歐洲/倫敦'); //創建DateTime對象 $ dateTime = ne...
    程式設計 發佈於2025-04-12
  • Java時間戳轉換為格式化時間字符串(HH:mm:ss:SSS)方法
    Java時間戳轉換為格式化時間字符串(HH:mm:ss:SSS)方法
    中將時間戳轉換為格式化時間,您在編程中遇到了一個常見的任務:將時間戳轉換為一個毫米,通常是毫秒為毫秒的時間表,自從特定的時間(通常是Epchoch)上的特定點(通常是epoch)。在這種情況下,您要特別想轉換為顯示小時,分鐘,秒和毫秒的格式(h:m:s:ms)。 以實現此轉換,第一步是將長度時間段...
    程式設計 發佈於2025-04-12
  • React學習日記:第27天
    React學習日記:第27天
    [2 今天的重點是掌握React Router,這是在React單頁應用程序(SPA)中構建無縫導航的關鍵工具。讓我帶您完成我的學習旅程和發現! 我從用React Router構建導航 1.setup and installation: 要開始使用React路由器,我使用以下方式...
    程式設計 發佈於2025-04-12
  • 如何使用Depimal.parse()中的指數表示法中的數字?
    如何使用Depimal.parse()中的指數表示法中的數字?
    在嘗試使用Decimal.parse(“ 1.2345e-02”中的指數符號表示法表示的字符串時,您可能會遇到錯誤。這是因為默認解析方法無法識別指數符號。 成功解析這樣的字符串,您需要明確指定它代表浮點數。您可以使用numbersTyles.Float樣式進行此操作,如下所示:[&& && && ...
    程式設計 發佈於2025-04-12
  • 如何使用Regex在PHP中有效地提取括號內的文本
    如何使用Regex在PHP中有效地提取括號內的文本
    php:在括號內提取文本在處理括號內的文本時,找到最有效的解決方案是必不可少的。一種方法是利用PHP的字符串操作函數,如下所示: 作為替代 $ text ='忽略除此之外的一切(text)'; preg_match('#((。 &&& [Regex使用模式來搜索特...
    程式設計 發佈於2025-04-12
  • 如何在Chrome擴展內容腳本中成功導入ES6模塊?
    如何在Chrome擴展內容腳本中成功導入ES6模塊?
    在Chrome Extension content scripts中導入ES6模塊但是,此方法具有局限性:可以被網站的服務工作者阻止。 Using a normal non-module script.Adding its name to "js" in "conte...
    程式設計 發佈於2025-04-12
  • 為什麼使用固定定位時,為什麼具有100%網格板柱的網格超越身體?
    為什麼使用固定定位時,為什麼具有100%網格板柱的網格超越身體?
    網格超過身體,用100%grid-template-columns 為什麼在grid-template-colms中具有100%的顯示器,當位置設置為設置的位置時,grid-template-colly修復了? 問題: 考慮以下CSS和html: class =“ snippet-code”> ...
    程式設計 發佈於2025-04-12

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3