2014年11月10日月曜日

JSON文法チェック方法

データの送受信または記述のためよく使われるJSON(ジェイソン)という形式があります。
テキストなので、windowsなら標準で入っているメモ帳のようなテキストエディタで編集できます。

例えば、
{
   "name" : ["shimotomai", "takayuki"],
   "degree":"PhD"
}
こんな感じです。

入れ子構造にもでき、XML同様柔軟性が高い記述方式として最近よく使われています。

ただ、コンマ忘れやすいので、よく文法エラーになります。
もしくは最後の要素の後にコンマを入れたり、
コロンがなかったり、ダブルクォーテーションがシングルになっていたり。

ロボットの音声認識システムで、採用していたのでJSON形式よく利用していましたが、

記述が長いと、目で見てエラーをチェックするとか拷問に近いです。
あり得ません。

ということで、

自動的にチェックしてくれる方法をいくつか利用していました。
そのうちPythonを使って行う方法をご紹介します。
簡単です。

$ python -mjson.tool dummy.json



これだけです。
今回はプログラムさえ書きません。

エラーの場合

Expecting property name: line 12 column 2...
という風に行番号が表示されます。つまりこの場合は、12行目にエラーがありますよということです。


demjsonがインストールされていれば
jsonlint -v hoge.json
でもチェック可能です。

demjsonのインストールはubuntuの場合、
sudo aptitude install python-demjson
でできます。


pythonを使ったjson形式の取り扱いについてはそのうちまた詳しく書きます。




0 件のコメント:

コメントを投稿