列明欄位、類型及未知值怎樣表示
本例 JSON 必須有四個欄位:date、time、headcount、status,不可另加欄位。日期或時間未知,用 JSON 值 null 表示;不可用空字串、文字 "NULL" 或省略欄位。headcount 為正整數。兩種語言的 status 都沿用 "draft"(草稿)及 "pending-check"(待確認)。date 為 null 時必須是 "pending-check",格式可有效,但申請仍未完整;即使全部填齊,也不代表獲授權提交。
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"additionalProperties": false,
"required": [
"date",
"time",
"headcount",
"status"
],
"properties": {
"date": {
"type": [
"string",
"null"
],
"pattern": "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$"
},
"time": {
"type": [
"string",
"null"
],
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
},
"headcount": {
"type": "integer",
"minimum": 1
},
"status": {
"enum": [
"draft",
"pending-check"
]
}
},
"allOf": [
{
"if": {
"properties": {
"date": {
"type": "null"
}
},
"required": [
"date"
]
},
"then": {
"properties": {
"status": {
"const": "pending-check"
}
}
}
}
]
}| 提供的依據 | 問題或輸入 | 預期結果 |
|---|---|---|
| 客戶:2026 年 4 月 3 日、兩位、未有時間;未知值用 null | 整理申請紀錄。 | {"date":"2026-04-03","time":null,"headcount":2,"status":"draft"} — 格式有效的草稿,時間仍未知,沒有提交操作。 |
| 客戶:03/04/2026、兩位,未有時間及日期寫法;未確認值用 null | 整理申請紀錄,並確認日期意思。 | {"date":null,"time":null,"headcount":2,"status":"pending-check"} — 格式有效但資料未齊;追問是 4 月 3 日還是 3 月 4 日,不選定日期或提交操作。 |
| 客戶:2026 年 4 月 3 日、兩位、未有時間;headcount 須為整數 | 核對 {"date":"2026-04-03","time":null,"headcount":"2","status":"draft"}。 | 格式無效:"2" 是字串,並非整數 2。預期紀錄應用 headcount:2。 |
| 客戶:2026 年 4 月 3 日、兩位、未有時間 | 核對 {"date":"2026-04-03","time":null,"headcount":20,"status":"draft"}。 | 格式有效,但資料不符:人數應為 2,不是 20;個案不通過。 |
| 客戶未提供時間;欄位不可省略,未知值用 null | 核對缺少 time 欄位、time:"" 及 time:"NULL"。 | 三種格式都無效,須包含 "time":null。 |
| 日期未確認須用 "pending-check",字面值不隨語言更改 | 核對 {"date":null,"time":null,"headcount":2,"status":"draft"},或 status:"草稿"。 | 兩者都無效:date 為 null 不可用 "draft";「草稿」只作顯示名稱,不是容許的字面值。 |
格式及意思要分開核對
| 核對層面 | 通過條件 |
|---|---|
| 結構 | 恰好四個必需欄位,符合類型、格式及狀態字面值;date 為 null 須用 "pending-check" |
| 資料意思 | 數值符合客戶資料;未知保留 null;日期須在曆法上有效,不只符合字元格式 |
| 操作權限 | 申請紀錄沒有被說成已確認預約 |
例如 {"date":"2026-02-30","time":null,"headcount":2,"status":"draft"} 符合此規格的日期字元格式,卻未通過另設的曆法核對。下載個案表後,請連同上方的完整規格保存。所用必填、額外欄位及條件寫法已按 JSON Schema 的物件及條件指引核對;申請規則及例子則由此表自訂。此表未驗證供應商功能,也未執行模型。