LoginSignup
20
16

More than 5 years have passed since last update.

JSON Lintをつかって文法チェック

Last updated at Posted at 2014-09-21

はじめに

CloudFromationを書いている時困るのがjsonの記述ミスです。いちいちStackの構築のエラーが出るのを待つのもつらいので、手元でエラーチェックができるツールをさがしていました。

yajl-toolsのjson_verifyを利用するで紹介されていたjson_verifyもつかってみましたが、エラーの場所を教えてくれません! CloudFormationのtemplateを書くと数百行は普通にあるので、これは死にます。ということで探したところJSON lintというツールがあったので、紹介します。

インストール

npmでインストールできます。Macでnpmから入れる場合はこんなかんじです。

$ brew install npm
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/node-0.10.32.mavericks.bottle.tar.gz
######################################################################## 100.0%
==> Pouring node-0.10.32.mavericks.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> make install
==> /usr/local/bin/npm install --global npm@latest --prefix /usr/local
==> Summary
?  /usr/local/Cellar/node/0.10.32: 1678 files, 19M

$ npm install jsonlint -g
/usr/local/bin/jsonlint -> /usr/local/lib/node_modules/jsonlint/lib/cli.js
jsonlint@1.6.2 /usr/local/lib/node_modules/jsonlint
├── JSV@4.0.2
└── nomnom@1.8.0 (underscore@1.6.0, chalk@0.4.0)
$

使い方

使い方は簡単です。jsonlintに検証したいファイルを引数としてわたすだけです。 -qは、正常終了時になにも出力しないオプションです。


$ jsonlint -q test.cfn
[Error: Parse error on line 307:
...        }        "LogBucketPolicy" :
--------------------^
Expecting 'EOF', '}', ',', ']', got 'STRING']

エラー発生行数がちゃんとでてますね。よかった。。。

20
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
20
16