とある事情でテスト用のテーブルフィクスチャを読み込むことが csv から直接できなかった (PHP array にする必要があった) ため、用意していた csv を json に変換するツールを探した。
rubygems にも 同名のパッケージ があったが、インストールしてもパス周りに設定が上手くできなかったため、諦めて C で書かれているこちらを使った。
ちなみにそのままコンパイルしたツールに吐かせた json を PHP の json_decode しても null を返すため、ツールに若干の修正が必要であった。(理由は以下のとおり。)
<?php // 以下の文字列は JavaScript としては有効ですが JSON としては無効です // 名前と値はダブルクォートで囲む必要があります // シングルクォートは使えません $bad_json = "{ 'bar': 'baz' }"; json_decode($bad_json); // null // 名前をダブルクォートで囲まなければなりません $bad_json = '{ bar: "baz" }'; json_decode($bad_json); // null // 最後にカンマをつけてはいけません $bad_json = '{ bar: "baz", }'; json_decode($bad_json); // null ?>
要するに名前の方もダブルクオートしないといけない。