Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar tatasusunan objek php ke tatasusunan rentetan json

Bagaimana untuk menukar tatasusunan objek php ke tatasusunan rentetan json

PHPz
PHPzasal
2023-04-19 14:11:06423semak imbas

Dalam pembangunan web moden, ia telah menjadi pilihan tetap untuk program bahagian hadapan berasaskan JavaScript untuk menggunakan data format JSON (JavaScript Object Notation). PHP ialah bahasa pengaturcaraan sisi pelayan yang biasa. Selalunya kita perlu menukar objek atau tatasusunan PHP ke dalam rentetan format JSON pada bahagian pelayan untuk memudahkan panggilan hadapan. Dalam artikel ini, kami akan menunjukkan kepada anda cara menukar tatasusunan objek kepada tatasusunan rentetan JSON dalam PHP.

  1. Gunakan fungsi json_encode()

Terdapat fungsi json_encode() terbina dalam dalam PHP, yang boleh menukar tatasusunan dan objek PHP ke dalam rentetan format JSON, sebagai berikut Paparan:

<?php
$array = array(&#39;name&#39; => '张三', 'age' => 18, 'gender' => 'male');
echo json_encode($array);
?>

Hasil berjalan:

{"name":"张三","age":18,"gender":"male"}

Dalam contoh ini kita dapat melihat bahawa apabila tatasusunan PHP dihantar ke dalam fungsi json_encode(), JSON yang dikodkan boleh dikembalikan Format rentetan. Perhatikan di sini: fungsi json_encode() hanya menyokong format pengekodan UTF-8 Jika format pengekodan yang digunakan oleh rentetan anda bukan UTF-8, ralat akan berlaku. Oleh itu, sebelum menggunakan fungsi json_encode(), sila pastikan tatasusunan atau objek yang perlu ditukar telah ditukar kepada format UTF-8.

  1. Pemformatan JSON tatasusunan objek

Jika anda perlu menukar tatasusunan objek kepada tatasusunan rentetan JSON, anda perlu menukar objek itu kepada tatasusunan dan gunakan json_encode () fungsi untuk pemprosesan. Sebagai contoh, kita perlu menukar tatasusunan objek yang mewakili maklumat pelajar kepada tatasusunan rentetan format JSON:

<?php
class Student{
    public $name;
    public $age;
    public $gender;
}
$student1 = new Student();
$student1->name = '张三';
$student1->age = 18;
$student1->gender = 'male';

$student2 = new Student();
$student2->name = '李四';
$student2->age = 19;
$student2->gender = 'female';

$students = array();
array_push($students,$student1,$student2);

$students_arr = array();
foreach($students as $student){
    $obj = get_object_vars($student);
    array_push($students_arr,$obj);
}

echo json_encode($students_arr);
?>

Hasil berjalan:

[{"name":"张三","age":18,"gender":"male"},{"name":"李四","age":19,"gender":"female"}]

Dalam contoh di atas, kami mencipta Cipta Kelas pelajar yang boleh mewakili maklumat pelajar, dan menggunakan tatasusunan untuk menyimpan berbilang objek Pelajar. Apabila menukar objek Pelajar kepada tatasusunan, fungsi get_object_vars() digunakan. Fungsi ini menukar objek kepada tatasusunan bersekutu, membolehkan kami mengendalikan objek seperti tatasusunan. Akhir sekali, hantar tatasusunan ke fungsi json_encode() dan keluarkan hasilnya.

Pada masa yang sama, untuk membantu pemahaman yang lebih baik, kita juga boleh mengubah contoh di atas menjadi bentuk yang lebih intuitif, seperti yang ditunjukkan dalam rajah di bawah:

  1. Pilihan JSON_PRETTY_PRINT

Melalui dua contoh di atas, anda telah mempelajari cara menukar objek atau tatasusunan PHP kepada tatasusunan rentetan format JSON. Walau bagaimanapun, pada pandangan pertama tatasusunan rentetan berformat JSON ini kelihatan agak sukar untuk dibaca. Untuk mencantikkan format data JSON, anda boleh menggunakan parameter kedua fungsi json_encode(): pemilihan JSON_PRETTY_PRINT, seperti yang ditunjukkan di bawah:

<?php
$array = array(&#39;name&#39; => '张三', 'age' => 18, 'gender' => 'male');
echo json_encode($array,JSON_PRETTY_PRINT);
?>

Hasil berjalan:

{
    "name": "张三",
    "age": 18,
    "gender": "male"
}

Ini adalah cara menggunakan Hasil output selepas pilihan JSON_PRETTY_PRINT lebih jelas dan lebih mudah dibaca.

Dalam artikel ini, kami memperkenalkan cara menukar tatasusunan objek kepada tatasusunan rentetan JSON dalam PHP. Ini merupakan langkah penting dalam interaksi hadapan dan belakang kami Digabungkan dengan alat penghuraian JSON bahagian hadapan, data boleh ditukar dengan mudah ke dalam format yang diperlukan oleh setiap tapak web.

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

Kenyataan:
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