FJCT_ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

インポート用CSVを型が指定されたJSONに変換するスクリプトを作りました

mBaaSでは管理画面からファイルをもとにデータストアのクラスを作成する機能があります。対象となるのは JSON/CSV/テキストファイル なのですが、日付やオブジェクト、位置情報を取り込むにはCSVではなくJSONフォーマットを使う必要があります。

Excelなどを使ってデータを作成後、CSVファイルにすると日付やオブジェクト形式が正しく判断されません。そこで非公式のncmbクライアントに変換機能を追加しました。

インストール

インストールは npm で行います。

[sudo] npm install ncmb-cli

使い方

基本的には入力元のCSVと出力先のJSONファイルを指定します。

ncmb csv /path/to/input.csv -o /path/to/output.json

オプション

オプションとして、以下があります。

  • location/l : 位置情報を変換します。 35.99999999999999,139.99999999999999 のような形式を変換します。
  • date/d : 日付を変換します。2016-02-03T17:00:00+09:00 のような形式を日付型に変換します。
  • object : オブジェクトを変換します。JSONとしてパースできたものを変換します。
  • boolean/b : 真偽値を変換します。true/falseといった文字列を変換します(大文字小文字は区別しません)

すべてのオプションを指定すると次のようになります。

ncmb csv /path/to/input.csv -l -b -d --object -o /path/to/output.json

そうすると、位置情報やオブジェクトが変換されたJSONが生成されますので、そのままインポートすれば正しい型の状態でインポートされます。


既存のシステムからの移管であったり、データをメンテナンスした後に取り込み直すと言った時に利用できます。CSVからのインポートでは難しい型の指定はこちらのスクリプトで行ってください。