外部のJSONデータを連想配列に変換(PHP)

PHPで学習した内容を記録したメモ書きです.

連想配列について

配列には,変数の箱の中身に 0,1,2……と背番号のように番号を振り,その番号を指定することでデータを指定するという性質があるが,連想配列では,番号のかわりに名前をつけて管理することができる.

※従来,PHPで配列を作成するときは,array()という関数を使用していたが,PHP 5.4から、角括弧([…]) を利用して配列を作成できるようになった。

JSONについて

「キーと値」のペアで成り立っていることが多い.オブジェクト(波括弧{…}で囲む)で表現される.

{ 
"キー": "値",
"キー": "値",
"キー": "値",
 }

※値はオブジェクト(波括弧({…})で囲む)で表現することがある

※値が複数ある場合,角括弧([…])で囲んだ中に,カンマ(,)で区切った複数の値を配列形式で格納することができる

 

JSONが複数の値だけで成り立っている場合(全体を角括弧([…])で囲む).

[ 
"値", 
"値", 
"値" 
]

 

キーが無いオブジェクトが配列になっている場合(全体を角括弧([…])で囲む).

[
 {
  "キー": "値", 
  "キー": "値" 
 },
 {
  "キー": "値",
  "キー": "値"
 }
]

 

JSONデータを取得

$urlという変数を準備

$url = "https://~";

 

JSONデータを全て文字列に読み込む

$jsonという変数を準備

$json = file_get_contents($url);

 

読み取ったJSONデータの文字化けを防ぐ

$json = mb_convert_encoding($json, 'UTF8', 'ASCII,JIS,UTF-8,EUC-JP,SJIS-WIN');

 

JSONデータを連想配列に変換する

$resultという変数を準備

$result = json_decode($json,true);