pagetaka

写真、PC、ネット、岡山、旅の話題をお届けします

PHP:JSONデータを読み込み表示する超簡単例

PHPJSONデータ取得・表示

HTMLの常識も後景に追いやり、PHPJSONデータをネット上から読み込みネットブラウザ画面に表示する、という超簡単実践例をUPするです。JSONPHPで徘徊しているチョー初心者の爺が備忘録として残すです。

お試しいただく場合は…
  1. 下のソースをコピーし、テキストエディタに貼り付けるです。※この時点で「意味が分からん」という場合は、以下はチョー難しい…。
  2. テキストエディタで、PHPファイルとして保存。ファイル名は英数半角、文字コードは「UTF-8」。※この時点で「意味が分からん」という場合も、以下は難しい…。
  3. PHPが動くWEBサーバにPHPファイルとしてUPし、ネットブラウザ(インターネット閲覧ソフト)で呼び出したら動くです。※この時点で「意味が分からん」という場合も、以下はチビット難しい…。「FTP」のお勉強してね…。
  4. UPしたPHPファイルが、どんなURLになるかわかりますよね…。※これがわからんかったら、試すことができない…。
  5. ネットブラウザURL表示欄に、たとえば、http://xxxxxxx/xxx.phpと手入力し「enter」キーを叩くと「上美唄町協和 ::: 上美唄町南」と表示される。動作は以上で終了です。
  6. 「終了」「書き換え」とかありませぬ。再度お試しの際は、改めて最初から…
  7. エラー処理一切ありませぬ…。
ソース
<?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は、次のような流れです。

  1. URLで書いてあるネット上の場所で、郵便番号「0790177」の関連データ(JSON形式)を探す
  2. 結果を、$jsonという「変数」に収納する。※変数は、「容器(とその中身)」くらいのことでしょうかネ。変数の型とか面倒なコト考えないでね…
  3. 3行目は、ちょっと面倒。$jsonの中身を、json_decode機能を使って、別の容器「$obj」に入れる。ただし条件があって「false」だから「オブジェクト型」でネ
  4. 「echo」は画面に表示してね、以下の部分を、というような命令。右側のカッコの中がちょっと面倒…。「->」とか「0」とか
    • 「->」は、何かを指定している、ということみたいです。助詞「の」に近いかも。具体的には「$objのresults[0]のaddress3」という容器の中の小分けされた場所を指している、というようなことに…。
    • で次は「[0]」ですね。場所を指しているです。これは「添字」で、「results」の一番目、というような意味です。「添字」は0が一番目になるです。「results」「address3」が何を指しているかは、「レスポンスフィールド」と見比べてください。あわせて、そのサンプルを見ると、なんとなく関係が理解できるです、キット、ええ…。
  5. 次の行は単に「 ::: 」を表示するようしてるだけです
  6. 次の行は、results[1] となっていて、同じ郵便番号で二つ目の情報がある、ということに。「添字」は0がスタートなので二番目は1ということで、ヨロシク。

郵便番号関連データの引用元

zipcloud.ibsnet.co.jp
syncer.jp

まとめ、備忘録

pagetaka.hatenablog.com
上のようなことをやってきて、やっと、PHPを使ってJSONを処理(読み込み、表示)できたです。今回のPHPソースには、HTMLの記述がありませぬ。まったく乱暴なことです。HTMLであることや、使用文字コード、などなど、多少でもWEB表示のことがわかる方なら、言語道断といわれるような状態です。でもまあ、PHPでJSONを扱う超簡単実践例、ということで許してください。多少なりともPHPとかJavaScriptができる方なら、それ以前にHTMLとかCSSは飽きるほどやっていることでしょうから…ヨロシク…。

次は、接続キーがあるAPI+JSONをPHPで実際に取得・表示するよう、前進しなくては…いつになったらできることやら…。