phpはjsonを配列オブジェクトに変換します

PHPz
リリース: 2023-05-11 09:37:36
オリジナル
436 人が閲覧しました

Web 開発では、フロントエンド ページからバックエンドに JSON 形式でデータを送信し、そのデータを PHP が操作できる配列またはオブジェクト形式に変換することがよくあります。この記事では、PHP を使用して JSON データを配列オブジェクトに変換する方法を紹介します。

JSON は、構造が明確で読み書きが簡単な軽量のデータ交換形式です。 PHP には JSON 処理関数が組み込まれており、JSON を配列またはオブジェクト形式に簡単に変換できます。

次の JSON データがあるとします。

{
    "name": "Tom",
    "age": 20,
    "address": {
        "province": "Guangdong",
        "city": "Guangzhou"
    },
    "hobbies": [
        "reading",
        "swimming"
    ]
}
ログイン後にコピー

PHP の json_decode() 関数を使用して、それを配列オブジェクトに変換します。この関数の使用法は次のとおりです。

array|object json_decode(string $json[, bool $assoc = false[, int $depth = 512[, int $options = 0]]])
ログイン後にコピー

パラメータの説明:

  • $json: デコードする必要がある JSON 文字列。
  • $assoc (オプション): このパラメータが true の場合は配列形式が返され、false の場合はオブジェクト形式が返されます。デフォルトは false です。
  • $ Depth (オプション): JSON データを解析するための最大の深さを設定します。デフォルトは 512 で、範囲外の場合は null が返されます。
  • $オプション (オプション): 大きな整数を文字列として返すことができる JSON_BIGINT_AS_STRING などの JSON デコーダー オプションを設定します。

コード例:

$jsonStr = '{ "name": "Tom", "age": 20, "address": { "province": "Guangdong", "city": "Guangzhou" }, "hobbies": [ "reading", "swimming" ] }';

$array = json_decode($jsonStr, true);

print_r($array);
ログイン後にコピー

出力結果:

Array
(
    [name] => Tom
    [age] => 20
    [address] => Array
        (
            [province] => Guangdong
            [city] => Guangzhou
        )

    [hobbies] => Array
        (
            [0] => reading
            [1] => swimming
        )
)
ログイン後にコピー

ご覧のとおり、json_decode() 関数は JSON 文字列を次のように変換します。 PHP 配列オブジェクト。

JSON データを PHP オブジェクト形式に変換する場合は、関数の 2 番目のパラメーターを削除するか、false に設定します。

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

string json_encode(mixed $value[, int $options = 0[, int $depth = 512]])
ログイン後にコピー

パラメータの説明:

  • $value: JSON 文字列としてエンコードする必要がある値。
  • $オプション (オプション): JSON_PRETTY_PRINT などの JSON エンコーダー オプションを設定すると、エンコードされた JSON 文字列が読みやすくなります。
  • $ Depth (オプション): エンコードされた JSON データの最大深さを設定します。デフォルトは 512 で、範囲を超える場合は空の文字列が返されます。

コード例:

$array = array(
    'name' => 'Tom',
    'age' => 20,
    'address' => array(
        'province' => 'Guangdong',
        'city' => 'Guangzhou'
    ),
    'hobbies' => array(
        'reading',
        'swimming'
    )
);

$jsonStr = json_encode($array, JSON_PRETTY_PRINT);

echo $jsonStr;
ログイン後にコピー

出力結果:

{
    "name": "Tom",
    "age": 20,
    "address": {
        "province": "Guangdong",
        "city": "Guangzhou"
    },
    "hobbies": [
        "reading",
        "swimming"
    ]
}
ログイン後にコピー

実際の開発では、JSON データをバックエンド サーバーに送信するために AJAX 技術がよく使用されます。次に、PHP を介して実行可能な形式に変換します。上記の JSON 関連の PHP 関数をマスターすると、JSON データの処理が容易になります。

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

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