ホームページ >バックエンド開発 >PHPの問題 >PHPでJSON文字列を配列オブジェクトに変換する方法

PHPでJSON文字列を配列オブジェクトに変換する方法

PHPz
PHPzオリジナル
2023-04-17 14:15:05653ブラウズ

PHP は非常に人気のあるサーバーサイド プログラミング言語であり、強力な文字列処理機能を備えており、JSON 形式の文字列の配列またはオブジェクトへの変換をサポートしています。この記事では、PHPでJSON文字列を配列オブジェクトに変換する方法を紹介します。

1. JSON の概念

JSON の正式名称は JavaScript Object Notation で、「JavaScript オブジェクト表記法」と訳されます。これは、Web 送信やデータ保存で広く使用されている軽量のデータ交換形式です。 JSON 形式のデータは文字列の形式で保存することも、JavaScript でオブジェクトまたは配列として直接表すこともできます。

2. PHP の JSON 関数

PHP は、JSON 形式の文字列と PHP のデータ型の間で変換するための一連の JSON 関数を提供します。一般的に使用される JSON 関数の一部を次に示します:

  1. json_encode(): PHP のデータ型を JSON 形式に変換します;
  2. json_decode(): JSON 形式の文字列をデータ型に変換しますPHP;
  3. json_last_error(): JSON によって引き起こされたエラーを取得します。

3. JSON 文字列を配列に変換する

JSON 文字列を配列に変換するのは比較的簡単で、PHP の json_decode() 関数を使用するだけです。たとえば、次のコードは、JSON 形式の文字列を PHP 配列に変換します。

$json_str = '{"name":"Tom","age":20,"sex":"male"}';
$arr = json_decode($json_str, true);
print_r($arr);

上記のコードでは、最初に、Tom という名前の 20 歳の男性を表す JSON 形式の文字列 $json_str を定義します。 。次に、json_decode() 関数を使用してこの文字列を PHP の配列に変換し、変数 $arr に割り当てます。最後に、print_r() 関数を使用して配列を出力し、次の結果を取得します。

Array
(

[name] => Tom
[age] => 20
[sex] => male

)

結果として、JSON 文字列が PHP 配列に正常に変換されました。

4. JSON 文字列をオブジェクトに変換する

JSON 文字列を配列に変換するだけでなく、PHP ではオブジェクトに変換することもできます。これを実現するには、json_decode() 関数を呼び出すときに 2 番目のパラメーターを省略するか、false に設定する必要があります。たとえば、次のコードは JSON 形式の文字列を PHP オブジェクトに変換します。

$json_str = '{"name":"Tom","age":20,"sex":"male"}';
$obj = json_decode($json_str);
var_dump($obj);

上記のコードでは、JSON 形式の文字列 $json_str を定義し、 json_decode() 関数を使用してそれを変換します。 PHPのオブジェクト。最後に、var_dump() 関数を使用してオブジェクトを表示し、次の結果を取得します。

object(stdClass)#1 (3) {
["name"]=>
string (3) "トム"
["年齢"]=>
int(20)
["性別"]=>
string(4) "男性"
}

結果から、JSON 文字列が PHP オブジェクトに正常に変換されたことがわかります。

5. 配列またはオブジェクトを JSON 文字列に変換する

JSON 文字列を PHP の配列またはオブジェクトに変換することに加えて、PHP の配列またはオブジェクトを JSON 形式の文字列に変換することもできます。これを実現するには、PHP で json_encode() 関数を使用する必要があります。たとえば、次のコードは、PHP 配列を JSON 形式の文字列に変換します。

$arr = array('name' => 'Tom', 'age' => 20, 'sex' => 'male');
$json_str = json_encode($arr);
echo $json_str;

上記のコードでは、Tom という名前の男性 (20 歳) を表す PHP 配列 $arr を定義します。次に、 json_encode() 関数を使用して配列を JSON 形式の文字列に変換し、それを変数 $json_str に割り当てます。最後に、echo ステートメントを使用して文字列を出力し、次の結果を取得します:

{"name":"Tom","age":20,"sex":"male"}

結果からわかるように、PHP 配列は JSON 形式の文字列に正常に変換されました。

6. 配列オブジェクトを JSON 文字列に変換する

場合によっては、PHP の配列オブジェクトを JSON 形式の文字列に変換する必要があります。これを実現するには、まず配列オブジェクトをオブジェクトに変換し、次に json_encode() 関数を使用してそれを JSON 形式の文字列に変換します。たとえば、次のコードは配列オブジェクトを JSON 形式の文字列に変換します。

$arr = array(
    array('name' => 'Tom', 'age' => 20, 'sex' => 'male'),
    array('name' => 'Lucy', 'age' => 18, 'sex' => 'female')
);
$obj = (object)$arr;
$json_str = json_encode($obj);
echo $json_str;

上記のコードでは、2 つの配列オブジェクトを含む PHP 配列 $arr を定義します。次に、(object)$arr を使用して PHP オブジェクト $obj に変換し、json_encode() 関数を使用してオブジェクトを JSON 形式の文字列に変換し、変数 $json_str に割り当てます。最後に、echo ステートメントを使用して文字列を出力し、次の結果を取得します。

[{"name":"Tom","age":20,"sex":"male"},{" name" :"Lucy","age":18,"sex":"girl"}]

結果を見ると、PHPの配列オブジェクトがJSON形式の文字列に変換できていることがわかります。

要約すると、上記の例を通じて、PHP で JSON 文字列を配列またはオブジェクトに変換する方法、および配列またはオブジェクトを JSON 文字列に変換する方法を明確に理解できます。これらの操作は PHP プログラミング プロセスでは非常に一般的なものであり、これらの操作をマスターするとプログラミング効率が大幅に向上します。

以上がPHPでJSON文字列を配列オブジェクトに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。