JSON介绍
-
JSON 是一种简单易懂的资料结构。JSON 结构化资料利于资料储存及互通交换。
-
JSON 资料人跟电脑都可很容易读取、了解、编辑、处理。
-
JSON 是 JavaScript Object Notation 的缩写。这是计算机工程师订出来的,计算机工程师们的专长是使用电脑,因此订出许多让人觉得很酷(莫名其妙)的术语。简单而言, JSON 是 key-value pair 与Array(数组) 这两种基础结构组合而成的资料。
-
Key value pair: 成对的大括号{} 可包含多个 key/value 组合。 key value 以冒号(:)隔开。以逗号(,)区隔下一组资料。如下范例:
{"itemName":"Product1", "Amount": 3 }
- Array: 数组当中通常包含多组同属性的资料。如下范例:
[{"itemName":"product1", "Amount": 3 },
{"itemName":"product2", "Amount": 1 }]
如上范例,中括号 [] 数组当中包含两组大括号 {} 包含的 key-value pairs,数组当中每一笔资料以逗号 (,)分隔。
- Key-value pair 与数组组合成 JSON 资料,以此描述一组意义明确的资料,如下范例:
{ "buyerName": "John",
"orderDate": "2022-06-24",
"orderItems": [{"itemName":"Product1", "Amount": 3 },
{"itemName":"Product2", "Amount": 1 }]
}
上述 JSON 范例大括号{}第一层包含 buyerName, orderDate, orderItems 三组 key-value pair。buyerName, orderDate 的 value 是字串。而 orderItems 的 value 是数组,此数组每一笔资料又是一组 {} 包含的 key-value pairs。上述 JSON 范例可描述一笔订单,清楚指定订购者 (buyerName),订购日期(orderDate)、订购的商品与数量(orderItems)。
定义 JSON 信息处理模板
- JSON 资料结构人跟电脑都可很容易读取、了解、编辑、处理。如上范例,可用来描述一份订单,以利程式处理。
- 在许多应用领域,仅需求者熟悉处理流程及要处理的信息(程式开发人员不清楚)。 需求者可用 JSON描述其专业领域要处理的资讯,以利资讯人员依循开发系统。如下范例:
{ "dataType": "Order",
"id": "orderID267",
"status": "requested",
"buyer": {"id":"A001", "name":"John" },
"orderDate": "2022-06-24",
"orderItems": [{"itemName":"product1", "ProductID" :"p123", "price":100, "Amount": 3 },
{"itemName":"product2", "ProductID" :"p333", "price":500, "Amount": 1 }]
}
上述范例可用于电子商务。买家选购后,可产生上述订单资料。此 JSON 资料各栏位规格及用途进一步说明:
- datatype:指定此 JSON 的类型, “Order” 代表订单。另可能有其他 datatype,如买家、商家、商品、付款等
- id:指定此笔订单的唯一码,以利程式处理。 其他类型的 JSON 资料,如许多买家、货品、商家、付款纪录等,通常也会有多笔资料,因此每组 JSON 资料应给与一唯一码。
- status:表示此订单的处理状态,可能包含买家下订单、商家处理中、已出货、已付款、撤销、异常等状态
- orderDate:买家下订单时间。可能还需增加其他时间记录栏位,如出货时间、到货时间等
- buyer:买家资料,内含id,name 以利识别。可由另一 JSON data 描述此 buyer 进一步的资料,如住址、联络资讯、註册日期等。此订单当中仅纪录 Buyer 的 id,若需要可由此 id 查到 buyer 的详细资料。
- orderItems: 条列订单项目(阵列)。每个项目包含:
– itemName:商品名称
– ProductID:商品 id
– Amount:购买数量
JSON 在健康医疗领域的应用
- 类似上述概念,国际标准 FHIR 在健康医疗领域定义许多Rresurces,以利临床医疗资料交换及医资系统整合应用。
- 其中 FHIR Observation(客观观察或检查)、Condition(病人问题状况)、 Questionnaire and
QuestionnaireResponse(问卷表单) 用途广泛,但在许多健康医疗情境尚未确立其规格及范例,很需要积极去进行。
编辑 JSON 资料
- JSON 是結構化的文字資料,可用許多文書編輯軟體來編輯,如 VS code
– VS code download and install
– VS code 产生及编辑 JSON 资料(加入简单说明文件)
定义 JSON 资讯处理模板的好处
- 利于产生完善易懂的规格文件
– JSON 资料规格搭配系统介面功能、作业流程等说明可产生需求者、开发者、使用者皆易于了解的规格文件 - 利于资料互通及整合应用;可跨系统支援相同的资料规格。
- 利于调整修改。有可能仅需调整 JSON 资料,即可修改或扩充系统,不须改程式。
JSON VS CSV 档
- 树状的 JSON 结构可用来定义种类的资料(如临床医疗个领域产生的资料),并利于程式产生及处理对应的 JSON 资料。