PHPでjsonを配列オブジェクト配列オブジェクトに変換する方法

王林
リリース: 2023-05-06 12:10:08
オリジナル
423 人が閲覧しました

エンコード プロセス中に、JSON 形式でデータを送信することは非常に一般的な操作です。 PHP には、JSON 文字列を PHP 値に変換するための json_decode() という関数が用意されています。この記事では、PHP を使用して JSON を配列およびオブジェクトに変換する方法について説明します。

json_decode()を使用して配列に変換する

次の JSON 文字列があるとします。

{
    "name": "Tom",
    "age": 30,
    "hobbies": ["reading", "running", "swimming"],
    "address": {
        "city": "Beijing",
        "country": "China"
    }
}
ログイン後にコピー

次に、それを PHP 配列に変換する必要があります。 。 json_decode() 関数を使用し、2 番目のパラメーターを true に設定して、JSON 文字列を連想配列に変換できます。コードは次のとおりです:

$jsonString = '{"name":"Tom","age":30,"hobbies":["reading","running","swimming"],"address":{"city":"Beijing","country":"China"}}';
$assocArray = json_decode($jsonString, true);
print_r($assocArray);
ログイン後にコピー

出力結果は次のとおりです。

Array
(
    [name] => Tom
    [age] => 30
    [hobbies] => Array
        (
            [0] => reading
            [1] => running
            [2] => swimming
        )

    [address] => Array
        (
            [city] => Beijing
            [country] => China
        )

)
ログイン後にコピー

ご覧のとおり、JSON 文字列が PHP 配列に正常に変換され、結果が出力されました。

使用 json_decode() オブジェクトに変換

JSON 文字列を PHP 配列に変換するだけでなく、PHP オブジェクトに変換することもできます。同様に、json_decode() 関数を使用して 2 番目のパラメータを false に設定するか省略して、JSON 文字列をオブジェクトに変換できます。コードは次のとおりです。

$jsonString = '{"name":"Tom","age":30,"hobbies":["reading","running","swimming"],"address":{"city":"Beijing","country":"China"}}';
$obj = json_decode($jsonString);
var_dump($obj);
ログイン後にコピー

出力結果は次のとおりです:

object(stdClass)#1 (4) {
  ["name"]=>
  string(3) "Tom"
  ["age"]=>
  int(30)
  ["hobbies"]=>
  array(3) {
    [0]=>
    string(7) "reading"
    [1]=>
    string(7) "running"
    [2]=>
    string(8) "swimming"
  }
  ["address"]=>
  object(stdClass)#2 (2) {
    ["city"]=>
    string(7) "Beijing"
    ["country"]=>
    string(5) "China"
  }
}
ログイン後にコピー

ご覧のとおり、JSON 文字列が PHP オブジェクトに正常に変換され、結果が出力されました。

使用 json_decode() オブジェクト配列に変換

場合によっては、JSON 文字列を複数の PHP オブジェクトに変換する必要があります。この場合、まずそれを PHP 配列に変換し、次に配列マッピング関数を使用して PHP オブジェクトの配列に変換します。コードは次のとおりです:

$jsonString = '[{"name":"Tom","age":30},{"name":"Alice","age":25},{"name":"Bob","age":40}]';
$array = json_decode($jsonString, true);
$objArray = array_map(function($item) {
    return (object) $item;
}, $array);
print_r($objArray);
ログイン後にコピー

出力結果は次のとおりです:

Array
(
    [0] => stdClass Object
        (
            [name] => Tom
            [age] => 30
        )

    [1] => stdClass Object
        (
            [name] => Alice
            [age] => 25
        )

    [2] => stdClass Object
        (
            [name] => Bob
            [age] => 40
        )

)
ログイン後にコピー

ご覧のとおり、JSON 文字列を PHP オブジェクト配列に正常に変換し、結果を出力しました。

つまり、PHP は、JSON 文字列を PHP 配列およびオブジェクトに変換する非常に便利な方法を提供します。 json_decode() 関数を使用して、適切なパラメーターを指定するだけです。ほとんどの Web API はデータを JSON で返すため、これは便利です。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!