Web 開発では、フロントエンド ページからバックエンドに JSON 形式でデータを送信し、そのデータを PHP が操作できる配列またはオブジェクト形式に変換することがよくあります。この記事では、PHP を使用して JSON データを配列オブジェクトに変換する方法を紹介します。
JSON は、構造が明確で読み書きが簡単な軽量のデータ交換形式です。 PHP には JSON 処理関数が組み込まれており、JSON を配列またはオブジェクト形式に簡単に変換できます。
次の JSON データがあるとします。
{ "name": "Tom", "age": 20, "address": { "province": "Guangdong", "city": "Guangzhou" }, "hobbies": [ "reading", "swimming" ] }
PHP の json_decode()
関数を使用して、それを配列オブジェクトに変換します。この関数の使用法は次のとおりです。
array|object json_decode(string $json[, bool $assoc = false[, int $depth = 512[, int $options = 0]]])
パラメータの説明:
コード例:
$jsonStr = '{ "name": "Tom", "age": 20, "address": { "province": "Guangdong", "city": "Guangzhou" }, "hobbies": [ "reading", "swimming" ] }'; $array = json_decode($jsonStr, true); print_r($array);
出力結果:
Array ( [name] => Tom [age] => 20 [address] => Array ( [province] => Guangdong [city] => Guangzhou ) [hobbies] => Array ( [0] => reading [1] => swimming ) )
ご覧のとおり、json_decode()
関数は JSON 文字列を次のように変換します。 PHP 配列オブジェクト。
JSON データを PHP オブジェクト形式に変換する場合は、関数の 2 番目のパラメーターを削除するか、false に設定します。
JSON データを配列またはオブジェクト形式に変換することに加えて、PHP は配列またはオブジェクト形式のデータを JSON 文字列にエンコードすることもできます。これは、PHP の json_encode()
関数を使用して実現できます。関数の使用法は次のとおりです:
string json_encode(mixed $value[, int $options = 0[, int $depth = 512]])
パラメータの説明:
コード例:
$array = array( 'name' => 'Tom', 'age' => 20, 'address' => array( 'province' => 'Guangdong', 'city' => 'Guangzhou' ), 'hobbies' => array( 'reading', 'swimming' ) ); $jsonStr = json_encode($array, JSON_PRETTY_PRINT); echo $jsonStr;
出力結果:
{ "name": "Tom", "age": 20, "address": { "province": "Guangdong", "city": "Guangzhou" }, "hobbies": [ "reading", "swimming" ] }
実際の開発では、JSON データをバックエンド サーバーに送信するために AJAX 技術がよく使用されます。次に、PHP を介して実行可能な形式に変換します。上記の JSON 関連の PHP 関数をマスターすると、JSON データの処理が容易になります。
以上がphpはjsonを配列オブジェクトに変換しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。