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

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

PHPz
リリース: 2023-04-20 11:24:59
オリジナル
799 人が閲覧しました

PHP を Web 開発に使用する場合、JSON データを扱うことがよくあります。受け取ったデータが文字列形式の JSON データである場合、後続の処理のために PHP のオブジェクトまたは配列に変換する必要があります。この記事では、文字列形式の JSON データをオブジェクトまたは配列に変換する方法について説明します。

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

まず、PHP の json_decode() 関数を使用して、JSON 文字列を JSON オブジェクトに変換する必要があります。この関数の構文は次のとおりです:

json_decode(string $json, bool $assoc = false, int $depth = 512, int $options = 0): mixed
ログイン後にコピー

このうち、$json パラメータは変換する必要がある JSON 文字列を示し、$assoc パラメータは変換する必要があることを示します。変換された JSON オブジェクトを変換するかどうか。これは配列の形式です。$ Depth パラメータは最大再帰深さを表し、$options パラメータは変換中のオプションを表します。

サンプルコードは以下の通りです:

$json_string = '{"name":"张三","age":18}';
$json_obj = json_decode($json_string);
var_dump($json_obj);
ログイン後にコピー

出力結果:

object(stdClass)#1 (2) {
  ["name"]=>
  string(6) "张三"
  ["age"]=>
  int(18)
}
ログイン後にコピー

上記の通り、json_decode()関数を使用してJSONを変換します。文字列を JSON オブジェクトに変換すると、PHP で stdClass オブジェクトが返されます。

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

JSON 文字列を PHP の配列に変換する必要がある場合は、$assoc パラメーターを # に設定できます。 # #真実###。サンプルコードは次のとおりです。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">$json_string = '[{&quot;name&quot;:&quot;张三&quot;,&quot;age&quot;:18},{&quot;name&quot;:&quot;李四&quot;,&quot;age&quot;:20}]'; $json_arr = json_decode($json_string, true); var_dump($json_arr);</pre><div class="contentsignin">ログイン後にコピー</div></div>出力結果:

array(2) {
  [0]=>
  array(2) {
    ["name"]=>
    string(6) "张三"
    ["age"]=>
    int(18)
  }
  [1]=>
  array(2) {
    ["name"]=>
    string(6) "李四"
    ["age"]=>
    int(20)
  }
}
ログイン後にコピー

上記の例からわかるように、変換後のデータは、元は

{ などの JSON オブジェクトです。 "name":" Zhang San", "age":18}

は、PHP では ["name" => "Zhang San", "age" => のように配列形式に変換されます。 ; 18]3. 文字列を JSON オブジェクトの配列に変換する

実際のアプリケーションでは、複数の JSON オブジェクトで構成される JSON 文字列を PHP のオブジェクトの配列に変換する必要がある場合があります。

サンプル コードは次のとおりです。

$json_string = '[{"name":"张三","age":18},{"name":"李四","age":20}]';
$json_obj_arr = json_decode($json_string);
var_dump($json_obj_arr);
ログイン後にコピー

出力結果:

array(2) {
  [0]=>
  object(stdClass)#2 (2) {
    ["name"]=>
    string(6) "张三"
    ["age"]=>
    int(18)
  }
  [1]=>
  object(stdClass)#3 (2) {
    ["name"]=>
    string(6) "李四"
    ["age"]=>
    int(20)
  }
}
ログイン後にコピー

JSON 文字列から配列への変換と比較して、オブジェクト配列への変換は複雑です。手術。このサンプル コードでは、

json_decode()

関数を使用して文字列を JSON オブジェクトの配列に変換します。返される結果は、複数の stdClass オブジェクトで構成される配列です。 要約すると、JSON データの処理は Web 開発プロセスの重要な部分です。この記事の導入を通じて、PHP で JSON 文字列をオブジェクトまたは配列に変換する方法と、複数のオブジェクトで構成される JSON 文字列を PHP でオブジェクトの配列に変換する方法を学習しました。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート