大法官解釋

July 31, 2022 · View on GitHub

憲法法庭網頁中擷取,並轉存成 JSON 。

檔案

輸出之檔案置於本專案 json/ 中。 可在網路程式中存取 jsDelivr 上的副本以進行利用。 例如 https://cdn.jsdelivr.net/gh/kong0107/jyi@gh-pages/json/666.json 即為釋字第 666 號之 JSON 版本。

除各釋字以 \d+\.html 的格式儲存外,另有三個統整型的檔案:

  • all.json: 各個解釋的所有(目前知道怎麼取出的)資料,每個元素均為物件。
  • basic.json: 各個解釋的號碼、公布日期、標題、爭點、解釋文。(沒有理由書)
  • holdings.json: 各個解釋的解釋文。
  • issues.json: 各個解釋的爭點。

前述檔案中,陣列第 0 個元素不放東西,以利取用特定釋字時,不用煩惱索引值和釋字號碼間差一的問題。

每號解釋的JSON

{
	"number": 748,
	"title": "同性二人婚姻自由案", ///< 700號開始,司法院有多個「XXXX案」的短述
	"date": "2017-05-24",
	"issue": "",      ///< 爭點
	"holding": "",    ///< 解釋文,分段以 `\n` 為界
	"reasoning": "",  ///< 理由書,分段以 `\n` 為界
}

執行

node download.js # 從司法院網站下載全文。
node parse.js # 從已存在本機的 HTML 檔中轉存成個別的 JSON 。
node mergeAll.js # 取出每個釋字中需要的部分,湊成 JSON 檔案。

注意事項

  • 大部分釋字的解釋文及理由書,各段首會有兩個全形空白。但少數沒有。
  • 「爭點」欄位不一定只有一項內容。
  • 部分釋字的換行處跟其他不一樣,例如 #110 ,另如 #499 在引用德文文獻時有段落中換行的情形。 在輸出結果時,這些換行均轉為空格。以維持「輸出結果的換行字元即是原始資料的段落分界」的原則。

著作權宣告

CC0

更新紀錄

3.0

  • 用 React 改寫 index.html

2.2

  • 更新 jsdom 版本到 16.2.2 。(因應 acorn 早於 5.7.4 版的安全性問題)
  • 新增輸出 basic.json

2.0

  • 配合司法院新版網站。
  • 取消輸出 XSS 。
  • 取消輸出 dates.jsontitles.json
  • 取消上傳 downloads/*.html
  • 恢復大部分釋字各段首的兩個全形空白。