LoginSignup
14
16

More than 5 years have passed since last update.

スプレッドシート風JSONエディター

Last updated at Posted at 2015-12-05

こんにちは&初めまして。石末といいます。
ちょっとした小ネタですがお付合い頂けると幸いです。

いこーよでは毎月実施するアンケートがあります。
アンケートの項目は毎月変わりますし自由入力や選択項目や必須かどうかなどなかなか面倒なデータ構造が必要です。
こういう柔軟なデータを表現するにはS式やJSONなんかが向いているのですがアンケート項目を作るのは編集チームの人達なのでS式書いてきてくださいというのはなかなか難しい。

いまはテキストデータをもらってからプログラマーが変換しています。
なにかいい方法がないかと常々思っていたのですがつい先日こちらの記事をみてCastleDBを知りました。

CastleDBはゲーム向けらしいのですがエクセルのように表で入力できてJSONを出力できる。しかも入れ子のデータもあつかえるのでアンケートデータエディタとしても便利そう!

a.png

入力してみると綺麗なJSONを出力してくれました!

new.cdb
{
    "sheets": [
        {
            "name": "survey",
            "columns": [
                {
                    "typeStr": "1",
                    "name": "title"
                },
                {
                    "typeStr": "1",
                    "name": "body",
                    "display": null
                },
                {
                    "typeStr": "8",
                    "name": "answer",
                    "display": null
                }
            ],
            "lines": [
                {
                    "title": "Q1.",
                    "body": "力欲しいか?",
                    "answer": [
                        {
                            "A1": "YES",
                            "A2": "NO",
                            "Free": true
                        }
                    ]
                },
                {
                    "title": "Q2.",
                    "body": "力が欲しければ",
                    "answer": [
                        {
                            "A1": "くれてやる",
                            "A2": "くれません",
                            "Free": false
                        }
                    ]
                }
            ],
            "separators": [],
            "props": {}
        },
        {
            "name": "survey@answer",
            "props": {
                "hide": true
            },
            "separators": [],
            "lines": [],
            "columns": [
                {
                    "typeStr": "1",
                    "name": "A1",
                    "display": null
                },
                {
                    "typeStr": "1",
                    "name": "A2"
                },
                {
                    "typeStr": "2",
                    "name": "Free",
                    "opt": true,
                    "display": null
                }
            ]
        }
    ],
    "customTypes": [],
    "compress": false

ちょっと操作に癖はあるもののプログラマーじゃない人でも使えそう。ためしてみたいとおもいます!

14
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
16