一、前言
前幾天使用 TVmaze API 搜尋了 Harry Potter、Harry 和 Potter,
也比較了三次搜尋得到的結果。
Day 17 已經從 JSON 的「結構」來觀察電影 API,
知道最外層是一個 Array,裡面放著搜尋結果,
而每一筆結果又會有 score 和 show 等資料。
今天拿Harry Potter這次查詢的結果來做詳細的說明,
⸻
二、搜尋結果的 score
首先可以看到:
"score":0.55135465
這個 score 可以理解成這筆搜尋結果和我們輸入的關鍵字之間的相關程度。
Harry Potter → 0.55135465
Harry → 0.86335677
Potter → 0.8518436
所以每次搜尋得到的結果,都可能有不同的 score。
⸻
三、主要的節目資料show
接下來可以看到
"show":{
"id":68803,
"name":"Harry Potter",
...
}
這裡的show可以理解成這筆搜尋結果主要的節目資料。
進入show後
就可以看到節目的名稱、類型、語言、分類、狀態等資訊。
前面的score 比較像是在描述「這筆搜尋結果和關鍵字的關係」,
而 show 則是「這筆結果本身的資料」。
⸻
四、節目名稱與基本資料
在 show 裡面首先可以看到
"id":68803,
"name":"Harry Potter",
"type":"Scripted",
"language":"English"
其中
id 是這個節目在 TVmaze 中的識別編號。
name 是節目的名稱,
這次就是我們搜尋到的 Harry Potter。
type 是節目類型,這筆資料顯示為 Scripted。
language 則是節目使用的語言,這裡是 English。
這幾個欄位可以讓我們先知道這筆資料是在描述哪一個節目。
⸻
五、節目分類genres
再往下可以看到:
"genres":[
"Fantasy",
"Supernatural"
]
這裡的 genres 是節目的分類。
這次 Harry Potter 的分類有:
回頭比較 Day 16 的結果,
也可以發現搜尋到的
Harry 分類是 Drama,
Potter 則是 Comedy。
所以不同的搜尋結果,即使關鍵字有部分相同,
實際找到的節目資料還是可能完全不同。
⸻
六、status和runtime
接著可以看到:
"status":"In Development",
"runtime":60
status 是節目的狀態。
這次 Harry Potter 的資料顯示為 In Development。
runtime 則是節目的播放時間,這筆資料是 60 分鐘。
和前面兩個結果比較:
Harry Potter → 60 分鐘
Harry → 50 分鐘
Potter → 30 分鐘
可以發現這三個節目的播放時間並不相同。
因此 API 回傳的資料不只是讓我們知道「找到哪個節目」,還可以進一步拿不同欄位來做比較。
⸻
七、premiered 和 ended
再往後可以看到:
"premiered":"2026-12-25",
"ended":null
premiered 可以理解成節目開始播出的日期。
這裡的資料是:
2026-12-25
而 ended 則是節目結束的日期。
顯示null
代表這個欄位目前沒有實際的值。
這也和前面書籍 API 看到的情況一樣,
API 回傳的 JSON 並不一定每個欄位都有資料,
有些欄位可能會是 null。
⸻
八、播出電視台network
繼續往下看,還可以找到:
"network":{
"id":8,
"name":"HBO",
"country":{
"name":"United States",
"code":"US",
...
}
}
這裡的 network 可以用來取得節目播出的電視台等資訊。
這筆資料中的 name 是HBO
而 network 裡面又有 country,可以看到:
"name":"United States"
"code":"US"
所以看這一個區塊,
就可以取得節目電視台以及國家等相關資訊。
⸻
九、總結
把今天分析的欄位放在一起,可以整理成:
score
→ 搜尋結果的相關程度
show
→ 主要的節目資料
name
→ 節目名稱
genres
→ 節目分類
status
→ 節目狀態
runtime
→ 播放時間
premiered
→ 開始播出的日期
ended
→ 結束播出的日期
network
→ 播出電視台等資訊
這樣再回頭看原本一大串的 JSON,
就比較能知道每一個部分是在描述什麼。
電影 API 的主要內容也差不多完成了,
下一篇會把這幾天從查詢、比較到 JSON 分析的內容整理起來,作為電影 API 這一段的總結。