kintoneのアプリテンプレートのjson構造を解析して、Webフォームを自動生成するプログラムを書いてみた。

kintoneのアプリテンプレートのjson構造を解析して、Webフォームを自動生成するプログラムを書いてみた。

Q, kintoneのアプリテンプレートとは?
A, アプリ構造をjsonとしてエキスポートできる機能。他のサブドメインにも配布できる。

アプリテンプレート作成方法
ポータルの右上にある歯車アイコン(設定)
kintoneシステム設定→アプリテンプレート→左上の作成をクリックすると、ポータルにあるアプリ一覧が出てくるので、エクスポートしたアプリにチェックして、次へ→保存する。
template1
左上の「書き出す」を押すとダウンロードできるようになる。
template2
ダウンロードしたzipファイルを解凍すると、template.jsonというJSON形式でアプリのテーブル構造が記述されている(レコード情報は無い)

そのままだと、改行もインデントもないのでjson formatterで整形する。
json editor onlineもオススメ

色々とネストが深いが、肝心のフィールドの各情報は以下の所にありそう(アプリテンプレートに、レコード情報は無い!)

JSONパス 推測される値
obj.apps.0.schema.table.fieldList.適当な整数.label これがフィールドコードっぽい。適当な整数は、フィールド毎に+1されているので、もしかしてkintone全体で一意のフィールドIDなのか!?
obj.apps.0.schema.table.fieldList.適当な整数.type これがデータ型
obj.apps.0.schema.table.fieldList.適当な整数.properties.options ラジオボタン・チェックボックス・ドロップダウンなど選択肢がある奴は、ここに配列として入っている。

これらの解析結果を踏まえて、kintoneからエキスポートしたtemplete.jsonをPHPで解析して、自動Webフォームを作るプログラムを組んでみた。
試しに「アンケート」アプリテンプレートを使って、Webフォームを自動生成。項目とか自動的に生成してくれるのは嬉しいね。
templete2form

サンプルソースは、こちら