PHPでJSONデータの解析と生成を行う方法
PHPでは、組み込みのjson_encode()関数でPHP配列やオブジェクトをJSON文字列に変換し、json_decode()関数でJSON文字列をPHP配列やオブジェクトにパースします。
以下にいくつかの例を示します。それらはJSONデータの解析および生成する方法を示しています。
- PHP配列をJSON文字列に変換する:
$data = array("name" => "John", "age" => 30, "city" => "New York");
$jsonData = json_encode($data);
echo $jsonData;
出力がネイティブな日本語になります
{"name":"John","age":30,"city":"New York"}
- PHPオブジェクトをJSON文字列に変換する:
class Person {
public $name;
public $age;
public $city;
}
$person = new Person();
$person->name = "John";
$person->age = 30;
$person->city = "New York";
$jsonData = json_encode($person);
echo $jsonData;
出力
{"name":"John","age":30,"city":"New York"}
- JSON文字列をPHP配列にパースする:
$jsonData = '{"name":"John","age":30,"city":"New York"}';
$data = json_decode($jsonData, true);
print_r($data);
ネイティブな日本語で言い換える:
Array
(
[name] => John
[age] => 30
[city] => New York
)
- JSON 文字列を PHP オブジェクトに解析する
$jsonData = '{"name":"John","age":30,"city":"New York"}';
$person = json_decode($jsonData);
echo $person->name;
echo $person->age;
echo $person->city;
文章を出力する
John
30
New York
json_encode() 関数では、生成される JSON 文字列の書式を制御する縮みやソートなどのオプションのパラメーターを指定できます。json_decode() 関数でも、解析される JSON 文字列の挙動(配列を返すかオブジェクトを返すかなど)を指定するオプションのパラメーターを指定できます。