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

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

Apr 20, 2023 am 10:07 AM

PHP では、JSON を配列に変換するのが一般的な操作です。 JSON は軽量のデータ交換形式であり、その読みやすさと移植性のため、開発者の間でますます人気が高まっています。 JSON 処理に PHP を使用する場合、PHP の組み込み関数を使用して JSON データを配列に変換できます。この記事では、PHP を使用して JSON を配列に変換する方法を学びます。

  1. json_decode() 関数を使用して JSON を配列に変換します

PHP には、JSON データを PHP 配列に変換できる「json_decode()」という関数が用意されています。この関数は 2 つのパラメータを受け取ります。1 つ目は変換する JSON 文字列で、2 つ目は JSON を連想配列に変換するかどうかを指定するオプションのブール パラメータです。デフォルトでは、このパラメータの値は false で、通常の配列が返されることを意味します。

次は、JSON 文字列の例です。

$json_string = '{
  "name": "John",
  "age": 30,
  "city": "New York"
}';
ログイン後にコピー

json_decode() 関数を呼び出して、JSON 文字列を連想配列に変換します。

$array = json_decode($json_string, true);
ログイン後にコピー

さて、 JSON データの値は、配列のキーにアクセスすることで取得できます。例:

echo $array['name']; // 输出:John
echo $array['age']; // 输出:30
echo $array['city']; // 输出:New York
ログイン後にコピー
  1. JSON 中国語解析のサポート

JSON 文字列に中国語の文字が含まれている場合、が必要です 正しく解析するには特別な処理が必要です。 PHP 組み込み関数 json_decode()json_last_error_msg() と組み合わせて使用​​すると、この問題を解決できます。

$json_string = '{"中文": "这是一个中文字符串"}';
$array = json_decode($json_string, true);

if (json_last_error() === JSON_ERROR_UTF8) {
    $json_string = mb_convert_encoding($json_string, 'UTF-8', 'UTF-8');
    $array = json_decode($json_string, true);
}

echo $array['中文']; // 输出:这是一个中文字符串
ログイン後にコピー
  1. JSON 文字列に複数のレベルのネストがある場合

JSON データに複数のレベルのネストがある場合、再帰的メソッドを使用して変換できます。 JSON を多次元配列に変換します。以下に示すように:

$json_string = '{
  "name": "John",
  "age": 30,
  "city": "New York",
  "children": [
    {
      "name": "Mary",
      "age": 5
    },
    {
      "name": "Bob",
      "age": 3
    }
  ]
}';
$array = json_decode($json_string, true);

function json_to_array($data) {
    if (is_object($data)) {
        $data = get_object_vars($data);
    }
    if (is_array($data)) {
        return array_map(__FUNCTION__, $data);
    } else {
        return $data;
    }
}

$array = json_to_array($array);

print_r($array); // 输出:
/*
Array
(
    [name] => John
    [age] => 30
    [city] => New York
    [children] => Array
        (
            [0] => Array
                (
                    [name] => Mary
                    [age] => 5
                )

            [1] => Array
                (
                    [name] => Bob
                    [age] => 3
                )

        )

)
*/
ログイン後にコピー

この記事では、JSON を配列に変換するいくつかの方法を紹介します。単純な JSON 文字列からのものであっても、多層でネストされた JSON データからのものであっても、PHP の json_decode() 関数は解析タスクを適切に完了できます。この記事が、PHP をより効果的に使用して JSON データを処理するのに役立つことを願っています。

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

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)