實際範例

網路上有非常多的開放性資料都是以 JSON 格式提供下載的,其實不管是什麼類型的資料,使用 jsonlite 來下載的方法都完全相同,只要將 JSON 網址複製下來,再透過 fromJSON 抓下來即可,而後續的處理與分析就要看資料的內容而定了。

以下是幾個從 R 中使用 jsonlite 套件直接下載網路 JSON 資料的範例。

政府資料開放平台

政府資料開放平台上面有許多可以直接下載的資料,支援 JSON 格式下載的資料非常多,我們拿紫外線即時監測資料來做示範。

首先從政府資料開放平台的網頁中,查詢 JSON 資料的下載網址,把網址複製下來:

# 紫外線即時監測 JSON 資料網址
url <- "http://opendata.epa.gov.tw/ws/Data/UV/?format=json"

使用 fromJSON 直接下載 JSON 檔:

# 使用 jsonlite 下載 JSON 資料
my.data <- fromJSON(url)

這樣抓下來之後,就可以直接在 R 中使用了:

# 查看資料
head(my.data)
  SiteName   UVI PublishAgency County  WGS84Lon WGS84Lat      PublishTime
1     花蓮 10.81    中央氣象局 花蓮縣 121,36,48 23,58,30 2017-07-06 14:00
2     馬祖  8.84    中央氣象局 連江縣 119,55,24 26,10,09 2017-07-06 14:00
3     高雄  5.88    中央氣象局 高雄市 120,18,57 22,33,58 2017-07-06 14:00
4     玉山  7.94    中央氣象局 南投縣 120,57,34 23,29,15 2017-07-06 14:00
5     臺南  8.81    中央氣象局 臺南市 120,12,17 22,59,36 2017-07-06 14:00
6     新竹  8.50    中央氣象局 新竹縣 121,00,51 24,49,40 2017-07-06 14:00

內政資料開放平臺

內政資料開放平臺各縣市統計區人口統計資料包含台灣各地區的人口統計數據,包含戶數、人口數、男性人口數、女性人口數等。

# 新竹縣統計區人口統計 JSON 網址
url <- "http://data.moi.gov.tw/MoiOD/System/DownloadFile.aspx?DATA=62571BAA-CA7C-448E-80D5-40C1303B9C3B"

# 使用 jsonlite 下載 JSON 資料
my.data <- fromJSON(url)

# 查看資料
head(my.data)
$Info
  InMetaDatCode InSTUnitCode InCountyId OutTotal
1    3A1FA_A1C2        U0202      10004      184

$ColumnList
  COLUMN_NAME DATA_TYPE    COLUMN_DESC DISPLAY_UNIT
1   INFO_TIME      文字       資料時間         <NA>
2       CODE2      文字 二級發布區代碼             
3       H_CNT      數值           戶數           戶
4       P_CNT      數值         人口數           人
5       M_CNT      數值     男性人口數           人
6       F_CNT      數值     女性人口數           人

$RowDataList
    PRODUCT_ID INFO_TIME    CODE2 H_CNT P_CNT M_CNT F_CNT
1        99440   105Y12M A0405-05   985  2951  1409  1542
2        99440   105Y12M A0405-06     1     1     0     1
3        99440   105Y12M A0405-07  1121  3080  1576  1504
4        99440   105Y12M A0405-08   862  2720  1354  1366
5        99440   105Y12M A0405-09   956  3084  1521  1563
6        99440   105Y12M A0405-10   871  2741  1387  1354
[略]

行政院環境保護署 環境資源資料開放平台

這是行政院環境保護署環境資源資料開放平台大甲媽祖遶境即時空品監測成果 JSON 資料下載範例。

# 大甲媽祖遶境即時空品監測成果 JSON 網址
url <- "http://opendata.epa.gov.tw/ws/Data/ATM00544/?$skip=0&$top=1000&format=json"

# 使用 jsonlite 下載 JSON 資料
my.data <- fromJSON(url)

# 查看資料
head(my.data)
  MachineKey temp humi pm25 pm25Level        lat         lng                gps_time
1       TP02   26   86   45         5 24.3491473 120.6170552 2016/4/17 下午 08:12:00
2       TP02   26   86   45         5 24.3491471 120.6170549 2016/4/17 下午 08:12:00
3       TP02   25   83   49         6 24.3491415 120.6170257 2016/4/17 下午 08:10:00
4       TP02   25   79   30         3 24.3491893 120.6170386 2016/4/17 下午 08:09:00
5       TP02   26   95   32         3  24.349189 120.6170382 2016/4/17 下午 08:08:00
6       TP03   25   91   59         8 24.3491511 120.6170786 2016/4/17 下午 08:08:00