233月/16
JSON形式のデータを用意してPHPで配列処理
すっかり春めいてまいりました。我が家の庭では、去年植えた枝垂れ桃が無事開花。
今日、郵便受けに入ってたフリーペーパーの星占い(よく当たる気がする)では、私の運勢も開花していました。
『学問の世界に誘われ、語学習得すると吉』
ええ、ちょうどJSONとPHPにイザナわれるところでしたから……orz
ということで、いつもメールフォームで郵便番号から住所入力したりするのにお世話になっているJSON。
↓food.json。こんな感じの構造です。
[ {"food":"肉","name":"牛","kana":"ウシ","like":"2"}, {"food":"肉","name":"鳥","kana":"トリ","like":"5"}, {"food":"乳製品","name":"チーズ","kana":"チーズ","like":"5"}, {"food":"乳製品","name":"ヨーグルト","kana":"ヨーグルト","like":"4"}, {"food":"野菜","name":"ほうれん草","kana":"ホウレンソウ","like":"3"} ]
今回はデータがExcelで用意されていたので、ソートを済ませてからマクロ使ってJSONに落としました。
上記の例だと、第一キーがfoodで、第二キーがkanaですね。
私はstabuckyさんのマクロを使わせてもらいましたが、ググッたら結構出てくるのでお好きなのを。
ExcelのテーブルをJSON形式に変換するマクロ | You Look Too Cool
出来上がったJSONがUTF-8無印で保存されているか確認してサーバにアップします。
ちなみに私はBOM付いててハマりました。元がExcelなんだから当然チェックすべきポイントですな……反省。
次はPHPでJSONを配列として扱うために、json_decode()を使います。
$url = "json/food.json"; $json = file_get_contents($url); $food = json_decode($json,true); echo var_dump($food); //NULLならBOM付いてるかも
ちゃんとdumpできてたら、あとはお好きなように~です!