元ニート中卒派遣30代ブサメン童貞のブログ

みんなが存在に疑問を感じている「元ニート、中卒、派遣、30歳超えのブサメン童貞」が実際に生息し、そして「どうやって生きてるか」を晒していくブログ

多次元連想配列は初心者には難しい

json_decode() しよう

フォームのデザインをしようと思ってBootstrapを調べていたんですが、普通にCSSを書くよりわかりにくくないすかね。いや、CSSを書いたことがないから、よくわかってないまま言ってんすけどね。グリッドとかの理解からスタートするところで、もう思考回路がショート寸前。でも、世の中で受け入れられている以上、使いやすいんでしょうね。PHPが動いたら、ちゃんと調べます。

さて、遠い昔の前回はAPIJSON形式でPOST送信することができた(と思う)ので、ちゃんと送信できていればAPI側からJSON形式のデータが戻っているはずです。まずはそれをPHPで扱えるようにします。

<?php
// JSON形式の戻り値を連想配列で取得
$res_json = json_decode($result, true);

引数をtrueにしないと連想配列の形式になりません。

美容整形は悪いことじゃない

さて、難関はここからです。僕の耳には入りませんが、JSONはコンピュータにも人の目にも、ある程度やさしいと言われています。が、そうはいっても整形されていないと何がなんだかわかりません。頭の悪い僕にとっては値を取り出すどころの話ではありません。まず、どこに何が書いてあるのかを把握するだけで数年の経過を覚悟しないといけません。

しかし、そこは先人の知恵。オンライン上でJSONの整形と構文チェックができるサービスを見つけてしまいました。それがJSON Pretty Linter Ver3先生です。この世の中は天才と神が多すぎる。 lab.syncer.jp

ちなみにDocumentationにはAPIから返ってくる文章のサンプルとしてこう書かれています。こんな短い文章でも僕の脳は拒否の姿勢を崩しません。ある意味、立派です。

{"request_id":"record001","info_filter":"form","word_list":[[["日本語"],["を"],["分析"],["し"],["ます"]]]}

しかし、JSON Pretty Linter Ver3先生の手にかかれば、こんなものは朝飯前。見とけよ見とけよ〜。

{
    "request_id": "record001",
    "info_filter": "form",
    "word_list": [
        [
            [
                "日本語"
            ],
            [
                "を"
            ],
            [
                "分析"
            ],
            [
                "し"
            ],
            [
                "ます"
            ]
        ]
    ]
}

うーん、まー、なんだ。値が少なすぎて逆に見づらくなってしまった感がありますが、もっともっと複雑な配列になったとき、先生の本領が発揮されます。はっきりわかんだね。次はここから欲しい値を取り出す作業です。