手作りしたJSONファイルのフォーマットがJSON形式として間違っていないかを、そんなことをせざるを得ないような環境で、できるだけ単純に確認する方法を編み出さねばならん状況。
広い宇宙の中の地球のこの世界の片隅でしか発生しないシチュエーション。
結局のところ、なんとなくインストールされたようなlinuxに入っているコマンドを使うという案に至る。
python(とその標準ライブラリjson)を使う、という案だ。
例えば、
echo '{"json":"obj"}' | python3 -m json.tool
や
cat foo.json | python3 -m json.tool
という塩梅で標準入力にJSONファイルを食わせてやる。
ここで、 形式エラーなら、標準エラーに
echo '{a"json":"obj"}' | python3 -m json.tool ※「a」が違反 Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
のようにエラー系のメッセージ(ErrorとかExpecting... なんとか)が出る。
エラーでなければ、改行などが整形されたJSONの内容が標準出力に帰ってくる。
シェル芸に長けた人やコンパイル屋さんだともっとエレガントな方法を思いつくだろうなという気がした。
ただ、新しい技として覚えたりしなくて良いという意味では、今回の例はなかなかのモノである気がする。
手段を問わないというよりは、イケテナイのは重々承知だが他になくね?という、爪の先に火を灯すような切なさを伴う、ワビサビがあると思うのだがどうだろう。