PHPでJSONデータ取得・表示
HTMLの常識も後景に追いやり、PHPでJSONデータをネット上から読み込みネットブラウザ画面に表示する、という超簡単実践例をUPするです。JSONとPHPで徘徊しているチョー初心者の爺が備忘録として残すです。
お試しいただく場合は…
- 下のソースをコピーし、テキストエディタに貼り付けるです。※この時点で「意味が分からん」という場合は、以下はチョー難しい…。
- テキストエディタで、PHPファイルとして保存。ファイル名は英数半角、文字コードは「UTF-8」。※この時点で「意味が分からん」という場合も、以下は難しい…。
- PHPが動くWEBサーバにPHPファイルとしてUPし、ネットブラウザ(インターネット閲覧ソフト)で呼び出したら動くです。※この時点で「意味が分からん」という場合も、以下はチビット難しい…。「FTP」のお勉強してね…。
- UPしたPHPファイルが、どんなURLになるかわかりますよね…。※これがわからんかったら、試すことができない…。
- ネットブラウザURL表示欄に、たとえば、http://xxxxxxx/xxx.phpと手入力し「enter」キーを叩くと「上美唄町協和 ::: 上美唄町南」と表示される。動作は以上で終了です。
- 「終了」「書き換え」とかありませぬ。再度お試しの際は、改めて最初から…
- エラー処理一切ありませぬ…。
ソース
<?php $url = "http://zipcloud.ibsnet.co.jp/api/search?zipcode=0790177"; $json = file_get_contents($url); $obj = json_decode($json,false); echo ($obj->results[0]->address3); echo (' ::: '); echo ($obj->results[1]->address3); ?>
上のPHPは、次のような流れです。
- URLで書いてあるネット上の場所で、郵便番号「0790177」の関連データ(JSON形式)を探す
- 結果を、$jsonという「変数」に収納する。※変数は、「容器(とその中身)」くらいのことでしょうかネ。変数の型とか面倒なコト考えないでね…
- 3行目は、ちょっと面倒。$jsonの中身を、json_decode機能を使って、別の容器「$obj」に入れる。ただし条件があって「false」だから「オブジェクト型」でネ
- 「echo」は画面に表示してね、以下の部分を、というような命令。右側のカッコの中がちょっと面倒…。「->」とか「0」とか
- 「->」は、何かを指定している、ということみたいです。助詞「の」に近いかも。具体的には「$objのresults[0]のaddress3」という容器の中の小分けされた場所を指している、というようなことに…。
- で次は「[0]」ですね。場所を指しているです。これは「添字」で、「results」の一番目、というような意味です。「添字」は0が一番目になるです。「results」「address3」が何を指しているかは、「レスポンスフィールド」と見比べてください。あわせて、そのサンプルを見ると、なんとなく関係が理解できるです、キット、ええ…。
- 次の行は単に「 ::: 」を表示するようしてるだけです
- 次の行は、results[1] となっていて、同じ郵便番号で二つ目の情報がある、ということに。「添字」は0がスタートなので二番目は1ということで、ヨロシク。
郵便番号関連データの引用元
まとめ、備忘録
pagetaka.hatenablog.com
上のようなことをやってきて、やっと、PHPを使ってJSONを処理(読み込み、表示)できたです。今回のPHPソースには、HTMLの記述がありませぬ。まったく乱暴なことです。HTMLであることや、使用文字コード、などなど、多少でもWEB表示のことがわかる方なら、言語道断といわれるような状態です。でもまあ、PHPでJSONを扱う超簡単実践例、ということで許してください。多少なりともPHPとかJavaScriptができる方なら、それ以前にHTMLとかCSSは飽きるほどやっていることでしょうから…ヨロシク…。
次は、接続キーがあるAPI+JSONをPHPで実際に取得・表示するよう、前進しなくては…いつになったらできることやら…。