iT邦幫忙

2026 iThome 鐵人賽

DAY 5
0
Software Development

Web API:從零開始探索公開 API 與資料應用系列 第 5

Day 5|JSON 是什麼?認識 API 常見的資料格式

  • 分享至 

  • xImage
  •  

**一、前言

在前幾天的學習中,
了解到Client可以透過HTTP向Server發送Request,
Server處理後再透過Response回傳資料。

而在實際使用Web API時,
會發現 API 回傳的資料常常長得像這樣:
{
"title": "Harry Potter",
"author": "J.K. Rowling"
}
第一次看到這種格式時,可能會覺得有點像程式碼,
但其實這是一種非常常見的資料格式:
**JSON

因此今天就要來了解JSON是什麼,
以及為什麼Web API很常使用JSON來傳遞資料。

**二、JSON 是什麼?

JSON是JavaScript Object Notation的縮寫,
中文通常翻譯為「JavaScript物件表示法」。

雖然名稱中有JavaScript,
但JSON並不只可以使用在JavaScript。

現在許多不同的程式語言都可以處理JSON,
因此它非常適合拿來作為不同系統之間交換資料的格式。

簡單來說
JSON就是一種用來表示與傳遞資料的格式。
例如一筆書籍資料可以表示成:
{
"title": "Harry Potter",
"author": "J.K. Rowling",
"year": 1997
}

這裡可以看到三組資料:
title → Harry Potter
author → J.K. Rowling
year → 1997
左邊是資料的名稱 右邊則是對應的資料內容。

三、JSON 的基本結構

JSON最常見的結構就是:
"名稱": "資料"
例如:
{
"name": "Tom",
"age": 20
}

可以理解成:
name → Tom
age → 20

JSON通常會使用 { } 包住一組物件,
而不同資料之間會使用逗號分隔。

除了文字和數字之外,
JSON也可以表示其他種類的資料,
例如:
{
"name": "Tom",
"age": 20,
"student": true
}

其中:

  • "Tom" 是文字
  • 20 是數字
  • true 是布林值

JSON也可以包含陣列,
例如:
{
"books": [
"Book A",
"Book B",
"Book C"
]
}
這代表books裡面有多筆資料。

因此當API回傳大量資料時,
也可以利用JSON把這些資料整理成有結構的形式。

四、為什麼API常使用JSON?
API需要在不同的系統之間傳遞資料,
因此資料格式需要讓電腦容易處理,
也要讓人可以相對容易閱讀。
JSON的格式簡單、結構清楚,
而且許多程式語言都能夠解析JSON。
例如今天有一個天氣App,需要從天氣API取得資料。
API可能回傳:
{
"temperature": 28,
"humidity": 75,
"weather": "Sunny"
}
App 收到這些資料後,就可以讀取:
temperature → 28
humidity → 75
weather → Sunny
再把這些資訊顯示在 App 的畫面上。

因此可以簡單理解成:
API Server→JSON 資料→App→顯示給使用者
JSON就像是Server和App之間共同使用的一種**資料格式。

**五、從API到JSON

把前幾天學到的內容串起來,
就可以更完整地理解API的運作方式。

例如今天使用GET查詢書籍資料:
Client→GET Request→API Server→找到符合條件的資料→JSON Response→Client
也就是說,JSON並不是API本身,
而是API傳遞資料時可能使用的一種格式。

API負責讓不同系統可以互相溝通,
而JSON則可以用來整理與傳遞這些資料。

**七、總結

今天主要認識了Web API中很常見的資料格式JSON。
JSON是一種用來表示與傳遞資料的格式,
具有結構清楚、容易閱讀,也方便不同程式語言處理等特性。

目前把前幾天的內容串起來
可以理解成
Client → HTTP Request → API Server → JSON Response → Client

到這裡已經知道API是什麼,
也了解 Request、Response、GET、POST、URL、Endpoint、Parameters,以及JSON的基本概念。

接下來就要開始認識API回傳結果中的另一個重要資訊:
HTTP Status Code 是什麼?
當API回傳 200、404 或 500 時,
這些數字又代表什麼意思?


上一篇
Day 4|URL、Endpoint 與 Parameters 是什麼?
下一篇
Day 6|HTTP Status Code是什麼?看懂API回應的狀態
系列文
Web API:從零開始探索公開 API 與資料應用6
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言