Membuat Tatasusunan daripada JSON Menggunakan json_decode()
Dalam menyahkod rentetan JSON, ia bertujuan untuk mendapatkan tatasusunan dan bukannya objek. Walau bagaimanapun, menghadapi mesej ralat "Ralat maut: Tidak boleh menggunakan objek jenis stdClass sebagai tatasusunan" menunjukkan pendekatan yang salah.
Kod yang disediakan:
$json_string = 'http://www.example.com/jsondata.json'; $jsondata = file_get_contents($json_string); $obj = json_decode($jsondata); print_r($obj['Result']);
melakukan penyahkodan berasaskan objek secara lalai . Untuk membetulkan isu ini dan menjana tatasusunan, parameter kedua dalam json_decode() hendaklah ditetapkan kepada benar.
$result = json_decode($jsondata, true);
Tindakan ini mengembalikan tatasusunan bersekutu.
Sebagai alternatif, anda boleh menukar tatasusunan bersekutu kepada tatasusunan yang diindeks secara berangka menggunakan array_values().
$result = array_values(json_decode($jsondata, true));
Walau bagaimanapun, jika anda lebih suka pendekatan berasaskan objek, akses sifat secara terus melalui notasi titik.
print_r($obj->Result);
Atas ialah kandungan terperinci Bagaimana untuk Menyahkod JSON dengan betul ke dalam Array dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!