Web 開発では、データ処理を容易にするために、JSON 形式の文字列を配列オブジェクトに変換することが必要になることがよくあります。 PHP では、組み込み関数を通じてこのタスクを実行できます。この記事では、PHPでJSONを配列オブジェクトに変換する方法を紹介します。
まず、JSON 形式の基本的な構造と目的を理解する必要があります。 JSON (JavaScript Object Notation) は、さまざまなアプリケーション間のデータ交換に使用できる、テキスト形式で表現される軽量のデータ交換形式です。その基本構造は、カンマで区切られたキーと値のペアであり、中括弧を使用してオブジェクトを表し、角括弧を使用して配列を表します。
サンプルの JSON 形式文字列は次のとおりです。
{ "name": "Lucy", "age": 25, "hobbies": ["reading", "swimming", "traveling"], "address": { "country": "China", "city": "Beijing", "postal_code": "100000" } }
PHP では、 json_decode() 関数を使用して JSON 文字列を配列オブジェクトに変換できます。この関数の最初のパラメータは変換される JSON 文字列で、2 番目のパラメータは変換されたデータ型を設定するために使用されます。たとえば、2 番目のパラメーターを true に設定して連想配列に変換することも、false に設定して通常のオブジェクト配列に変換することもできます。サンプル コードは次のとおりです。
$json_str = '{ "name": "Lucy", "age": 25, "hobbies": ["reading", "swimming", "traveling"], "address": { "country": "China", "city": "Beijing", "postal_code": "100000" } }'; $arr = json_decode($json_str, true); var_dump($arr);
出力結果は次のとおりです。
array(4) { ["name"]=> string(4) "Lucy" ["age"]=> int(25) ["hobbies"]=> array(3) { [0]=> string(7) "reading" [1]=> string(8) "swimming" [2]=> string(9) "traveling" } ["address"]=> array(3) { ["country"]=> string(5) "China" ["city"]=> string(7) "Beijing" ["postal_code"]=> string(6) "100000" } }
ご覧のとおり、 json_decode() 関数を使用して JSON 文字列を配列オブジェクトに変換します。このうち、名前と年齢は通常のキーと値のペアであり、趣味と住所はそれぞれ入れ子になった配列とオブジェクトを表します。変換された配列では、対応するキー名を通じて対応する値にアクセスできます。
さらに、JSON 文字列をオブジェクトに変換することもできます。サンプル コードは次のとおりです:
$json_str = '{ "name": "Lucy", "age": 25, "hobbies": ["reading", "swimming", "traveling"], "address": { "country": "China", "city": "Beijing", "postal_code": "100000" } }'; $obj = json_decode($json_str); var_dump($obj);
出力結果は次のとおりです:
object(stdClass)#1 (4) { ["name"]=> string(4) "Lucy" ["age"]=> int(25) ["hobbies"]=> array(3) { [0]=> string(7) "reading" [1]=> string(8) "swimming" [2]=> string(9) "traveling" } ["address"]=> object(stdClass)#2 (3) { ["country"]=> string(5) "China" ["city"]=> string(7) "Beijing" ["postal_code"]=> string(6) "100000" } }
変換後のことがわかります。結果は、通常の PHP オブジェクトである stdClass オブジェクトです。対応する属性名を通じて対応する値にアクセスすることもできます。
つまり、PHP では、組み込みの json_decode() 関数を使用して JSON 形式の文字列を配列オブジェクトまたは通常の PHP オブジェクトに変換することで、データを簡単に処理できます。実際のWeb開発においては、JSON形式でデータを処理することが多くなってきており、JSON変換に関する知識を習得することは必要なスキルの1つとなっています。
以上がPHPのJSONを配列オブジェクトに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。