このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

JSONスキーマ、さらに別構文

「JSONスキーマと列挙型」にて:

今、2つの方向から考えていて、1つは現状のスキーマ言語試案に手を入れていく方向、もう1つは別な新しい構文を模索することです。

新しい構文のほうをチョビット紹介しておきます。

この構文を使うためには、オブジェクトのプロパティ名に若干の制限を付ける必要があります。特に、ドルマークとピリオドはプロパティ名には使えないとします。そういう条件を付けた上で、ランチ注文のデータ型は次のように記述できます。

"$" : "ランチご注文" ;
"ident" : "ランチ会員情報" ;
"ident.name" : string, "お名前" ;
"ident.memberNum" : integer, "会員番号" ;
"order" :  "本日のご注文" ;
"order.mainDish" : "メイン", 
    enum [
      "special" : "日替わり",
      "fish", : "魚",
      "meat", : "肉"
    ] ;
"order.drink" : "お飲み物", 
    emum [
      "teaHot" : "紅茶 (ホット)",
      "teaIce" : "紅茶 (アイス)",
      "coffeeHot" : "コーヒー (ホット)",
      "coffeeIce" : "コーヒー (アイス)"
    ] ;
"order.dessert" : "デザート", 
    multi [
      "pudding" : "プリン",
      "strawberryShortcake" : "苺ショートケーキ",
      "bavarianCream" : "ババロア",
      "gateauChocolat" : "ガトーショコラ"
    ] ;

オブジェクトの各構成要素へのパスに対して、型とラベルを指定した形式です。multi [...] は、set [ enum [...] ] の略記です。この記述は、必要な情報だけを書き連ねたもので、これ以上短くするのは困難です(パスを囲む引用符は不要かな -- と、それくらい)。短いだけじゃなくて、比較的に理解しやすいのではないかと思います。