JSONファイルの読み込みには、jsonToData()関数を使用します。
jsonToData() 文字列のjsonデータをキー型に変換するメソッドです。
引数:
(str)jsonデータ
戻り値:
(key)変換後のjsonデータ
備考:
返還後のjsonデータは、.[“キー名”]の形で格納されます。
例)”title” → .[“title”]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
Kf(_JsonRead){ Pe{ /*キーステーションが最初に実行するキーセット*/ N(_main); } } K(_main){ De{ (key).json; } U{ R(#title) R5(#menu) Pe{ try{ /// jsonデータを文字列として読込 (str)tmp=$this%fileLoad("jsonSample.json"); /// 読み込んだjsonデータをキー型に変換 .json?=jsonToData(tmp); /// "title"の値を#titleラベルの枠に設定 #title?=.json?.["title"]?; /// "foods"の定義分ループする foreach((key)f,.json?.["foods"]){ /// #menuラベルの枠に小枠追加 (key)tmp=#menu%addC(tree("R{C(#name)C(#price)}")); /// "name"の値を追加した子枠の#nameラベル枠に設定 tmp#name?=f.["name"]?; /// "price"の値を追加した子枠の#priceラベル枠に設定(通貨表示にフォーマット) tmp#price?=format(f.["price"]?,"C"); } }catch((key)ex){ stop(ex.message?); } } } } |
jsonSample.json 0.67 KB
実行結果