Rumah pembangunan bahagian belakang masalah PHP Bagaimana untuk menukar json ke dalam array dalam php

Bagaimana untuk menukar json ke dalam array dalam php

Apr 23, 2023 pm 04:45 PM

Dalam pengaturcaraan, menukar antara format data yang berbeza adalah operasi yang sangat biasa. Antaranya, menukar data dalam format JSON (JavaScript Object Notation) kepada tatasusunan adalah keperluan biasa Contohnya, dalam PHP, data format JSON perlu ditukar kepada tatasusunan untuk diproses. Artikel ini akan memperkenalkan cara menukar data format JSON kepada tatasusunan melalui PHP.

1. Apakah format JSON

JSON ialah singkatan daripada Notasi Objek JavaScript dan merupakan format pertukaran data yang ringan. Ia mewakili data dalam bentuk pasangan nilai kunci, termasuk objek dan tatasusunan, serta mudah dibaca, dihuraikan dan dijana serta dihuraikan. Ia digunakan secara meluas dalam kedua-dua bahagian hadapan dan belakang dan boleh digunakan dalam banyak aspek seperti penghantaran data, penyimpanan dan paparan.

2. Bentuk konvensional format JSON

Berikut ialah contoh format JSON konvensional (kod berikut berasal dari 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"
            }
        }
    ]
}
Salin selepas log masuk

Dalam di atas Dalam contoh, baris pertama menentukan ID permintaan, dan tiga baris berikut masing-masing mengembalikan kod status, mesej dan kandungan data. Kandungan data termasuk tatasusunan, yang mengandungi dua objek, setiap objek mempunyai 3 atribut (nama, umur dan alamat, dan alamat mengandungi 3 atribut: wilayah, bandar dan jalan). Dalam aplikasi sebenar, data format JSON mungkin mempunyai lebih banyak atribut dan struktur yang lebih kompleks, tetapi bentuk di atas adalah contoh biasa.

3. Cara menukar data format JSON kepada tatasusunan

Dalam PHP, anda boleh menukar data format JSON kepada tatasusunan melalui fungsi terbina dalam json_decode(). Definisi fungsi khusus adalah seperti berikut:

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

Antaranya, $json ialah rentetan format JSON yang akan dinyahkodkan $assoc mengenal pasti sama ada untuk mengembalikan tatasusunan bersekutu dan bukannya objek; kedalaman rekursi; $options mewakili Beberapa pilihan khas semasa penyahkodan (seperti membenarkan "/" melarikan diri semasa penyahkodan, dsb.). Berikut ialah contoh mudah:

<?php
  $json = '{"name":"Jack","age":25,"address":{"province":"Guangdong","city":"Shenzhen","street":"Nanshan District"}}';
  $array = json_decode($json, true);
  print_r($array);
?>
Salin selepas log masuk

Menjalankan kod di atas akan mengeluarkan hasil berikut:

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

)
Salin selepas log masuk

Dalam contoh di atas, rentetan berformat JSON pertama kali ditakrifkan. Kemudian gunakan fungsi json_decode() untuk menyahkod rentetan ke dalam tatasusunan dan tetapkan hasilnya kepada pembolehubah $array. Akhir sekali, gunakan fungsi print_r() untuk mengeluarkan kandungan $array Anda boleh melihat bahawa hasil output ialah tatasusunan bersarang, termasuk nama, umur, alamat, dsb.

Perlu diambil perhatian bahawa hasil yang dikembalikan oleh fungsi json_decode() bergantung pada nilai parameter kedua $assoc. Apabila $assoc adalah palsu, fungsi mengembalikan data JSON yang dinyahkod sebagai objek (stdClass apabila $assoc adalah benar, fungsi tersebut mengembalikan data JSON yang dinyahkodkan sebagai tatasusunan bersekutu.

4. Ringkasan

Menukar data format JSON kepada tatasusunan ialah operasi yang sangat biasa, yang boleh dicapai dalam PHP menggunakan fungsi terbina dalam json_decode(). Apabila menggunakan fungsi ini, anda perlu memberi perhatian kepada nilai parameter kedua $assoc untuk menentukan sama ada hasil yang dikembalikan selepas penyahkodan ialah objek atau tatasusunan. Pada masa yang sama, anda juga perlu ambil perhatian bahawa data dalam format JSON mungkin rumit, dan anda perlu membaca dokumen dengan teliti untuk memahami atribut dan strukturnya. Melalui pengenalan artikel ini, saya percaya anda telah pun memahami cara menukar data format JSON kepada tatasusunan dalam PHP.

Atas ialah kandungan terperinci Bagaimana untuk menukar json ke dalam array dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah amalan terbaik untuk deduplikasi tatasusunan php Apakah amalan terbaik untuk deduplikasi tatasusunan php Mar 03, 2025 pm 04:41 PM

Apakah amalan terbaik untuk deduplikasi tatasusunan php

Apakah piawaian pengekodan PHP terkini dan amalan terbaik? Apakah piawaian pengekodan PHP terkini dan amalan terbaik? Mar 10, 2025 pm 06:16 PM

Apakah piawaian pengekodan PHP terkini dan amalan terbaik?

Bolehkah PHP Array Deduplication memanfaatkan keunikan nama utama? Bolehkah PHP Array Deduplication memanfaatkan keunikan nama utama? Mar 03, 2025 pm 04:51 PM

Bolehkah PHP Array Deduplication memanfaatkan keunikan nama utama?

Bagaimana saya bekerja dengan sambungan php dan pecl? Bagaimana saya bekerja dengan sambungan php dan pecl? Mar 10, 2025 pm 06:12 PM

Bagaimana saya bekerja dengan sambungan php dan pecl?

Bagaimana untuk melaksanakan beratur mesej (RabbitMQ, Redis) dalam PHP? Bagaimana untuk melaksanakan beratur mesej (RabbitMQ, Redis) dalam PHP? Mar 10, 2025 pm 06:15 PM

Bagaimana untuk melaksanakan beratur mesej (RabbitMQ, Redis) dalam PHP?

Adakah Deduplication Array PHP perlu dipertimbangkan untuk kerugian prestasi? Adakah Deduplication Array PHP perlu dipertimbangkan untuk kerugian prestasi? Mar 03, 2025 pm 04:47 PM

Adakah Deduplication Array PHP perlu dipertimbangkan untuk kerugian prestasi?

Apakah teknik pengoptimuman untuk deduplikasi tatasusunan php Apakah teknik pengoptimuman untuk deduplikasi tatasusunan php Mar 03, 2025 pm 04:50 PM

Apakah teknik pengoptimuman untuk deduplikasi tatasusunan php

Bagaimana menggunakan refleksi untuk menganalisis dan memanipulasi kod PHP? Bagaimana menggunakan refleksi untuk menganalisis dan memanipulasi kod PHP? Mar 10, 2025 pm 06:12 PM

Bagaimana menggunakan refleksi untuk menganalisis dan memanipulasi kod PHP?

See all articles