セキュア問診票 問診票定義の記述方法詳細 (JSON記法)

JSON 記法

問診票の内容は、JSON で定義します。 JSON は、JavaScript Object Notationの略で、構造化されたデータを扱うのに広く利用されている形式です。

初めての方にはとっつきにくく感じるかもしれませんが、明確なルールで分かりやすいし、内蔵のエディタがリアルタイムに間違いを指摘してくれますので心配ありません。

(参考) JSON の HP http://json-schema.org/

JSON の記述方法のルールは、

  • {}(波括弧)で囲む
  • それぞれのデータは、キーと値のペアにする必要がある
    • キーと値は:(コロン)で区切る
  • それぞれのデータを,(カンマ)で区切る
  • キーは文字列、値は様々なデータ型で記述可能
    • 文字列は必ず""(ダブルクオーテーション)で囲む

です。

値で利用可能なデータの種類は 6 つあります。 それは、「文字列、数値、真偽値(true/false)、配列、オブジェクト、Null 値」です。

文字列は、必ず""(ダブルクオーテーション)で囲みます。

  • 例  →  "あああああ", "http://hogehoge.com"

「整数」または「実数」をそのまま表現可能です。

  • 例  →  1001, 3.14

真偽値はtrue, falseのいずれかの値を取ります。

配列は[](角括弧)で囲みます。 配列内のデータは必ず,(カンマ)で区切り、データはどんな型(文字列、数値、真偽値、配列、オブジェクト、Null 値)のものでも入れることができます。

  • 例  →  ["milk", "bread", "eggs"], [1, "hoge", true, "fuga"]

問診票においては、各質問の項目 (Field) が配列です。 ほかにもいくつかの項目は配列で指定します。

オブジェクトは、{}で囲みます。 キーと値のペアにする必要があり、それぞれのデータは,で区切ります。 問診票定義全体が一つのオブジェクトです。

  • 例  →  { "productId": 1, "productName": "A green door", "price": 12.50, "tags": [ "home", "green" ] }

Null 値は、何もない(空データ)を表します。小文字のnullで表記します。 問診票定義では利用しません。

例えば、文字列における"などの「特殊文字」は「エスケープ」する必要があります。 文字列を判別するための"と区別するためです。 エスケープが必要な文字と、その表現方法で主なものは下記になります。

エスケープ表記元の文字説明
\""ダブルクォーテーション
\\\バックスラッシュ
\//スラッシュ
\n改行
\tタブ

エスケープした文字列の例は、"http:\/\/hogehoge.com", "<img src=\"image01.jpg\"\/>"などです。

よくある JSON 記述エラー

JSON エディタにおいては、文法上のエラーがあると、左側にエラーを示す赤丸が表示されます。 同時に、プレビュー画面の背景が黄色に変化しますので修正してください。 なお、実際のエラーはエラー表示のひとつ前の行の,の抜けであったりすることがしばしばありますので注意してください。

一般的には、以下のエラーが多いようです。

  • カッコの数や位置がおかしい。{}の整合性が取れていない
  • カンマが抜けている or カンマが余分
  • 「"」が「”」などに変換されている