PHP では、処理のために JSON を配列に変換する必要があることがよくあります。 JSON 形式は比較的簡潔で理解しやすいため、フロントエンドとバックエンドの間でデータを送信するための一般的な形式となっているため、PHP には JSON を配列に変換するのに役立つ関数がいくつかあります。
この記事では、PHP で一般的に使用される配列関数に対する JSON をいくつか紹介します。
json_decode() 関数は、JSON 文字列を PHP 配列またはオブジェクトに変換するために使用される PHP の基本関数です。構文は次のとおりです:
mixed json_decode ( string $json [, bool $assoc = FALSE [, int $depth = 512 [, int $options = 0 ]]] )
ここで:
サンプルコード:
$json_str = '{"name":"Tom","age":20,"hobby":["reading","writing"]}'; $arr = json_decode($json_str, TRUE); print_r($arr);
出力結果:
Array ( [name] => Tom [age] => 20 [hobby] => Array ( [0] => reading [1] => writing ) )
json_decode() 関数により、JSON 文字列を配列に変換することができました。
PHP 7.3 以降では、JSON_THROW_ON_ERROR オプションを使用して、変換時に json_decode() 関数をスローさせることができます。異常なエラーが発生します。サンプル コードは次のとおりです。
$json_str = '{"name":"Tom","age":20,"hobby:["reading","writing"]}'; try { $arr = json_decode($json_str, TRUE, 512, JSON_THROW_ON_ERROR); print_r($arr); } catch (JsonException $e) { echo 'JSON错误:' . $e->getMessage(); }
出力結果:
JSON错误:Syntax error
この例では、JSON 文字列の形式が正しくないため、 json_decode() 関数が例外をスローし、エラーを表示しました。メッセージ。
json_decode() 関数を使用して JSON 文字列を変換すると、解析エラーが発生することがあります。このとき、 json_last_error_msg( ) 関数を使用してエラー情報を取得します。サンプル コードは次のとおりです。
$json_str = '{"name":"Tom","age":20,"hobby":["reading","writing"'; $arr = json_decode($json_str, TRUE); if (json_last_error() === JSON_ERROR_NONE) { print_r($arr); } else { echo 'JSON错误:' . json_last_error_msg(); }
出力結果:
JSON错误:Syntax error
この例では、json_last_error_msg() は、文字列形式が正しくないためにエラー情報を返しました。
PHP では、PHP 配列を JSON 形式の文字列に変換することもできます。これには、 json_encode() 関数を使用する必要があります。構文は次のとおりです。
string json_encode ( mixed $value [, int $options = 0 [, int $depth = 512 ]] )
ここで:
サンプルコードは以下のとおりです:
$arr = array('name' => 'Tom', 'age' => 20, 'hobby' => array('reading', 'writing')); $json_str = json_encode($arr, JSON_UNESCAPED_UNICODE); echo $json_str;
出力結果:
{"name":"Tom","age":20,"hobby":["reading","writing"]}
json_encode() 関数により、PHP 配列を JSON 文字列に変換することができました。 。
概要:
PHP では、 json_decode() 関数を使用して JSON 文字列を配列またはオブジェクトに変換できます。また、 json_encode() 関数を使用して PHP を変換することもできます。配列を JSON 形式に変換します。通常はデフォルトのオプションを使用できますが、必要に応じて関連するオプションを使用して設定できます。 JSON を解析またはエンコードするときに、関連関数を使用してエラー情報を取得し、処理を改善することもできます。
以上がphp jsonを配列関数に変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。