ホームページ >バックエンド開発 >PHPの問題 >PHPを使用してJSONデータをオブジェクト配列に変換する方法

PHPを使用してJSONデータをオブジェクト配列に変換する方法

PHPz
PHPzオリジナル
2023-04-23 10:14:53586ブラウズ

Web 開発では、JSON (JavaScript Object Notation) が一般的なデータ交換形式になっています。これは、読み書きが簡単な軽量のデータ交換形式です。ただし、PHP では、データ処理を容易にするために、JSON データをオブジェクトまたは配列に変換することが必要になることがよくあります。この記事では、PHP を使用して JSON データをオブジェクト配列に変換する方法を紹介します。

1. JSON の概要

JSON は軽量のデータ交換形式であり、そのデータ構造は JavaScript のオブジェクトや配列に非常によく似ています。これは、キーと値のペアと配列の 2 つの構造で構成されます。キーと値のペアはコロンで区切られ、配列は要素を含めるために角括弧を使用し、各キーと値のペアまたは配列要素はカンマで区切られます。 JSON の例を次に示します。

{
    "name": "张三",
    "age": 25,
    "hobby": ["reading", "traveling", "music"],
    "address": {
        "province": "广东",
        "city": "深圳",
        "street": "科技园南区"
    }
}

2. JSON を PHP オブジェクトに変換する

PHP では、json_decode() 関数を使用して JSON 文字列を変換できます。 PHP オブジェクトに挿入します。 json_decode()この関数は、JSON 文字列、配列に変換するかどうか (デフォルトは false)、深さ (デフォルトは 512) の 3 つのパラメータを受け入れます。以下は、JSON 文字列を PHP オブジェクトに変換する例です。

$jsonStr = '{"name":"张三","age":25,"hobby":["reading","traveling","music"],"address":{"province":"广东","city":"深圳","street":"科技园南区"}}';
$obj = json_decode($jsonStr);
var_dump($obj);

出力結果:

object(stdClass)#1 (4) {
  ["name"]=>
  string(6) "张三"
  ["age"]=>
  int(25)
  ["hobby"]=>
  array(3) {
    [0]=>
    string(7) "reading"
    [1]=>
    string(10) "traveling"
    [2]=>
    string(5) "music"
  }
  ["address"]=>
  object(stdClass)#2 (3) {
    ["province"]=>
    string(6) "广东"
    ["city"]=>
    string(6) "深圳"
    ["street"]=>
    string(15) "科技园南区"
  }
}

ご覧のとおり、json_decode() 関数は、 JSON文字列がstdClassオブジェクトになりました。 JSON 内のデータは、オブジェクトの属性参照を通じて取得できます。例:

echo $obj->name;      //输出:张三
echo $obj->age;       //输出:25
echo $obj->hobby[0];  //输出:reading
echo $obj->address->province;  //输出:广东

3. JSON を PHP 配列に変換する

JSON 文字列を PHP オブジェクトに変換することに加えて、json_decode() 関数を使用して変換することもできます。 JSON 文字列を PHP 配列に変換します。 json_decode() 関数の 2 番目のパラメーターを true に設定するだけです。以下に例を示します。

$jsonStr = '{"name":"张三","age":25,"hobby":["reading","traveling","music"],"address":{"province":"广东","city":"深圳","street":"科技园南区"}}';
$arr = json_decode($jsonStr, true);
var_dump($arr);

出力結果:

array(4) {
  ["name"]=>
  string(6) "张三"
  ["age"]=>
  int(25)
  ["hobby"]=>
  array(3) {
    [0]=>
    string(7) "reading"
    [1]=>
    string(10) "traveling"
    [2]=>
    string(5) "music"
  }
  ["address"]=>
  array(3) {
    ["province"]=>
    string(6) "广东"
    ["city"]=>
    string(6) "深圳"
    ["street"]=>
    string(15) "科技园南区"
  }
}

json_decode() 関数の 2 番目のパラメータを true に設定すると、JSON 文字が文字列は PHP 配列に変換されます。配列の添字を使用して、JSON でデータを取得できます。例:

echo $arr['name'];            //输出:张三
echo $arr['hobby'][0];        //输出:reading
echo $arr['address']['city']; //输出:深圳

4. 概要

Web 開発では、JSON が一般的なデータ交換形式です。 PHP では、json_decode() 関数を使用して、JSON 文字列を PHP オブジェクトまたは配列に簡単に変換し、データ処理を容易にします。この記事では、JSON データを PHP オブジェクトの配列に変換する方法を紹介しますので、PHP 開発者の参考になれば幸いです。

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

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