non vorrei lavorare

ブログ名の通りです。javascript three.js mruby rust OCaml golang julialang blender

Node.jsでコマンドラインアプリを書く JSONファイル編

先週末から高熱が続いていた長男が週末になりようやく、 熱も下がった状態が続くようになり、調子を取り戻しつつあります。 今回は、高熱がこれまでになく長く続き心配していたkjunichiです。

 

背景

node.jsはちょっとした事が手軽にJavaScriptで書けて。最近は仕事関係の実験的な事はnodeでスクリプトを書いてやっつけてます。

先日の記事でSafariのリーディングリストをKindle Fire HDに送るでもnode.jsを使って実装してます。記事にして見直すと、初期設定ファイルを導入してSMTPサーバや、kindle送信先アドレスを指定出来るようにするべきだったと感じました。そんな訳で、node.jsでコマンドラインベースのツールを書く際に簡単に初期設定ファイル扱えないかということで調べてみました。

JSONファイルの読み込み

// .jsonの拡張子が必要。付けないとモジュールとして扱われる模様
var json = require('./hoge.json');

注意

{foo:"bar"}だとNG。{"foo":"bar"}とする必要がある。

書き込み

JSON.stringfyが使えない。

var fs = require('fs');
var util = require('util');

var jsonObj = {"param":"string","p1":1024};
fs.writeFileSync("hoge.json",util.format("%j",jsonObj);

ホームディレクトリのパスを取得するには

var homepath = process.env.HOME

リンク

関連記事