JSONとは何ですか?
JSONはJavaScript Object Notationの略で、データを保存および交換するための構文です。
JSON形式はテキストベースの形式であるため、サーバーとの間で簡単に送受信でき、任意のプログラミング言語でデータ形式として使用できます。
PHPとJSON
PHPには、JSONを処理する組み込み関数がいくつかあります。
まず、次の2つの関数について説明します。
json_encode()
json_decode()
PHP - json_encode()
json_encode()関数は、値をJSON形式にエンコードするために使用されます。
例
この例は、連想配列をJSONオブジェクトにエンコードする方法を示しています。
<?php
$age = array("Peter"=>35, "Ben"=>37, "Joe"=>43);
echo json_encode($age);
?>
例
この例は、インデックス付き配列をJSON配列にエンコードする方法を示しています。
<?php
$cars = array("Volvo", "BMW", "Toyota");
echo json_encode($cars);
?>
PHP - json_decode()
json_decode()関数は、JSONオブジェクトをPHPオブジェクトまたは連想配列にデコードするために使用されます。
例
この例では、JSONデータをPHPオブジェクトにデコードします。
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
var_dump(json_decode($jsonobj));
?>
json_decode()関数は、デフォルトでオブジェクトを返します。 json_decode()関数には2番目のパラメーターがあり、trueに設定すると、JSONオブジェクトは連想配列にデコードされます。
例
この例では、JSONデータをPHP連想配列にデコードします。
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
var_dump(json_decode($jsonobj, true));
?>
PHP - デコードされた値へのアクセス
オブジェクトと連想配列からデコードされた値にアクセスする方法の2つの例を次に示します。
例
この例は、PHPオブジェクトから値にアクセスする方法を示しています。
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$obj = json_decode($jsonobj);
echo $obj->Peter;
echo $obj->Ben;
echo $obj->Joe;
?>
例
この例は、PHP連想配列から値にアクセスする方法を示しています。
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$arr = json_decode($jsonobj, true);
echo $arr["Peter"];
echo $arr["Ben"];
echo $arr["Joe"];
?>
PHP - 値のループ
foreach()ループを使用して値をループすることもできます。
例
この例は、PHPオブジェクトの値をループする方法を示しています。
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$obj = json_decode($jsonobj);
foreach($obj as $key => $value) {
echo $key . " => " . $value . "<br>";
}
?>
例
この例は、PHP連想配列の値をループする方法を示しています。
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$arr = json_decode($jsonobj, true);
foreach($arr as $key => $value) {
echo $key . " => " . $value . "<br>";
}
?>