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

PHPでJSONを配列に変換する方法

PHPz
PHPzオリジナル
2023-04-23 16:45:54966ブラウズ

プログラミングでは、異なるデータ形式間の変換は非常に一般的な操作です。その中でもJSON(JavaScript Object Notation)形式のデータを配列に変換するのは共通の要件であり、例えばPHPではJSON形式のデータを配列に変換して処理する必要があります。この記事では、PHPでJSON形式のデータを配列に変換する方法を紹介します。

1. JSON 形式とは

JSON は JavaScript Object Notation の略称で、軽量なデータ交換形式です。オブジェクトや配列などのデータをキーと値のペアの形式で表し、読み取り、解析、生成と解析が簡単です。フロントエンドとバックエンドの両方で広く使用されており、データ送信、ストレージ、表示などのさまざまな側面で使用できます。

2. JSON 形式の従来の形式

以下は従来の JSON 形式の例です (次のコードは Alibaba Cloud API Gateway からのものです):

{
    "RequestId": "C28F393F-2F69-483F-87B6-C08B9151C693",
    "Code": "Success",
    "Message": "成功",
    "Datas": [
        {
            "Name": "Jack",
            "Age": 28,
            "Address": {
                "Province": "Guangdong",
                "City": "Shenzhen",
                "Street": "Nanshan District"
            }
        },
        {
            "Name": "Lucy",
            "Age": 25,
            "Address": {
                "Province": "Hubei",
                "City": "Wuhan",
                "Street": "Hongshan District"
            }
        }
    ]
}

上記ではたとえば、最初の行はリクエスト ID を指定し、次の 3 行は戻りステータス コード、メッセージ、およびデータの内容です。データ コンテンツには 2 つのオブジェクトを含む配列が含まれており、各オブジェクトには 3 つの属性 (名前、年齢、住所) があり、住所には 3 つの属性 (都道府県、都市、番地) が含まれます。実際のアプリケーションでは、JSON 形式のデータはさらに多くの属性やより複雑な構造を持つ場合がありますが、上記の形式は典型的な例です。

3. JSON 形式のデータを配列に変換する方法

PHP では、組み込み関数 json_decode() を使用して JSON 形式のデータを配列に変換できます。具体的な関数の定義は次のとおりです:

mixed json_decode ( string $json [, bool $assoc = FALSE [, int $depth = 512 [, int $options = 0 ]]] )

このうち、$json はデコードする JSON 形式の文字列、$assoc はオブジェクトの代わりに連想配列を返すかどうかを識別し、$ Depth は再帰の最大深さを表します。 ; $options は、デコード時にいくつかの特別なオプションを表します (デコード時に "/" エスケープを許可するなど)。以下は簡単な例です:

<?php
  $json = &#39;{"name":"Jack","age":25,"address":{"province":"Guangdong","city":"Shenzhen","street":"Nanshan District"}}&#39;;
  $array = json_decode($json, true);
  print_r($array);
?>

上記のコードを実行すると、次の結果が出力されます:

Array
(
    [name] => Jack
    [age] => 25
    [address] => Array
        (
            [province] => Guangdong
            [city] => Shenzhen
            [street] => Nanshan District
        )

)

上記の例では、最初に JSON 形式の文字列が定義されています。次に、 json_decode() 関数を使用して文字列を配列にデコードし、結果を $array 変数に割り当てます。最後に、print_r() 関数を使用して $array の内容を出力します。出力結果は、名前、年齢、住所などを含むネストされた連想配列であることがわかります。

json_decode() 関数によって返される結果は、2 番目のパラメーター $assoc の値に依存することに注意してください。 $assoc が false の場合、関数はデコードされた JSON データをオブジェクト (stdClass) として返し、$assoc が true の場合、関数はデコードされた JSON データを連想配列として返します。

4. 概要

JSON 形式のデータを配列に変換することは非常に一般的な操作であり、組み込み関数 json_decode() を使用して PHP で実現できます。この関数を使用するときは、2 番目のパラメーター $assoc の値に注意して、デコード後に返される結果がオブジェクトであるか配列であるかを判断する必要があります。同時に、JSON 形式のデータは複雑な場合があるため、ドキュメントを注意深く読んで属性とその構造を理解する必要があることにも注意する必要があります。この記事の導入により、PHP で JSON 形式のデータを配列に変換する方法は理解できたと思います。

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

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