Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menukar tatasusunan dan objek dalam PHP kepada format JSON

Bagaimana untuk menukar tatasusunan dan objek dalam PHP kepada format JSON

PHPz
PHPzasal
2023-04-23 09:10:34631semak imbas

Dalam proses pembangunan web, selalunya perlu menukar data dalam PHP ke dalam format JSON untuk penghantaran. Dalam PHP, terdapat dua jenis data biasa yang perlu ditukar kepada format JSON, iaitu tatasusunan dan objek. Artikel ini akan memperkenalkan cara menukar tatasusunan dan objek dalam PHP kepada format JSON, dan menukar format JSON kepada tatasusunan atau objek.

1. Tukar tatasusunan PHP kepada format JSON

1 Gunakan fungsi json_encode()

Dalam PHP, anda boleh menggunakan fungsi json_encode() untuk menukar tatasusunan kepada format JSON . Fungsi ini menerima satu parameter, iaitu tatasusunan yang perlu ditukar kepada format JSON. Berikut ialah contoh:

$array = array('name' => '张三', 'age' => 20);
$json = json_encode($array);
echo $json;

Selepas pelaksanaan, hasil output ialah:

{"name":"张三","age":20}

Kod di atas menukar tatasusunan yang mengandungi nama dan umur ke dalam format JSON.

Secara lalai, fungsi json_encode() akan menukar nama kunci dalam tatasusunan kepada nama atribut dalam JSON. Jika anda perlu mengekalkan nama kunci dalam format JSON, anda boleh menghantar parameter khas JSON_FORCE_OBJECT kepada fungsi ini apabila menggunakannya. Contohnya:

$array = array('name' => '张三', 'age' => 20);
$json = json_encode($array, JSON_FORCE_OBJECT);
echo $json;

Selepas pelaksanaan, hasil output ialah:

{"name":"张三","age":20}

Seperti yang anda lihat, hasilnya di sini adalah sama seperti contoh sebelumnya.

2. Gunakan foreach untuk menggelung melalui tatasusunan

Cara lain untuk menukar tatasusunan PHP kepada format JSON ialah menggunakan foreach untuk menggelung melalui tatasusunan. Contohnya:

$array = array('name' => '张三', 'age' => 20);
$json = '{';
foreach ($array as $key => $value) {
    $json .= '"' . $key . '":"' . $value . '",';
}
$json = substr($json, 0, -1);
$json .= '}';
echo $json;

Hasil output ialah:

{"name":"张三","age":"20"}

Seperti yang anda lihat, kod ini turut menukar tatasusunan kepada format JSON. Walau bagaimanapun, kaedah ini memerlukan penyambungan rentetan manual, yang lebih menyusahkan.

2. Tukar objek PHP kepada format JSON

1 Gunakan fungsi json_encode()

Serupa dengan tatasusunan, dalam PHP, anda juga boleh menggunakan fungsi json_encode() untuk menukar Objek ditukar kepada format JSON. Berikut ialah contoh:

class Student {
    public $name;
    public $age;
}
$student = new Student();
$student -> name = "张三";
$student -> age = 20;
$json = json_encode($student);
echo $json;

Selepas penukaran kod, hasil output ialah:

{"name":"张三","age":20}

Seperti yang anda lihat, kod ini menukar objek jenis Pelajar ke dalam format JSON .

Jika anda perlu mengekalkan maklumat jenis objek dalam format JSON, anda boleh memberikannya parameter khas JSON_UNESCAPED_UNICODE apabila menggunakan fungsi json_encode(). Contohnya:

class Student {
    public $name;
    public $age;
}
$student = new Student();
$student -> name = "张三";
$student -> age = 20;
$json = json_encode($student, JSON_UNESCAPED_UNICODE);
echo $json;

Selepas pelaksanaan, hasil output ialah:

{"name":"张三","age":20,"__className":"Student"}

2 Gunakan fungsi json_encode() dan traversal tatasusunan

adalah serupa dengan sebuah. array, dalam PHP , anda juga boleh menggunakan foreach untuk menggelung melalui sifat objek. Contohnya:

class Student {
    public $name;
    public $age;
}
$student = new Student();
$student -> name = "张三";
$student -> age = 20;
$json = '{';
foreach ($student as $key => $value) {
    $json .= '"' . $key . '":"' . $value . '",';
}
$json = substr($json, 0, -1);
$json .= '}';
echo $json;

Selepas pelaksanaan, hasil output ialah:

{"name":"张三","age":"20"}

Seperti yang anda lihat, kod ini turut menukar objek kepada format JSON. Walau bagaimanapun, kaedah ini juga memerlukan penyambungan manual rentetan, yang lebih rumit.

3. Tukar JSON kepada tatasusunan atau objek PHP

Apabila melakukan pembangunan web, selalunya perlu mendapatkan data dalam format JSON dari halaman hujung hadapan dan menukarnya kepada tatasusunan atau objek dalam PHP Menjalankan pemprosesan seterusnya. Begini cara untuk menukar JSON kepada tatasusunan atau objek dalam PHP.

1. Gunakan fungsi json_decode() untuk menukar JSON kepada tatasusunan

Anda boleh menggunakan fungsi json_decode() untuk menukar data format JSON kepada tatasusunan PHP. Fungsi ini mempunyai dua parameter, yang pertama ialah rentetan JSON yang perlu ditukar, dan yang kedua ialah nilai Boolean yang digunakan untuk menentukan sama ada untuk menukar tatasusunan kepada objek PHP Lalainya adalah palsu, iaitu, ditukar kepada tatasusunan . Contohnya:

$json = '{"name":"张三","age":20}';
$array = json_decode($json, true);
var_dump($array);

Selepas pelaksanaan, hasil output adalah seperti berikut:

array(2) {
  ["name"]=>
  string(6) "张三"
  ["age"]=>
  int(20)
}

Seperti yang anda lihat, fungsi ini menukar data format JSON kepada tatasusunan PHP dan mengeluarkan hasil.

2. Gunakan fungsi json_decode() untuk menukar JSON kepada objek

Selain menukar kepada tatasusunan, anda boleh menggunakan fungsi json_decode() untuk menukar data format JSON kepada PHP objek. Contohnya:

$json = '{"name":"张三","age":20}';
$obj = json_decode($json);
var_dump($obj);

Selepas pelaksanaan, hasil output adalah seperti berikut:

class stdClass#1 (2) {
  public $name =>
  string(6) "张三"
  public $age =>
  int(20)
}

Seperti yang anda lihat, fungsi ini menukar data format JSON kepada objek PHP dan mengeluarkan hasil.

Ringkasnya, terdapat banyak cara untuk menukar tatasusunan dan objek dalam PHP kepada format JSON, dan anda boleh memilih untuk menggunakannya mengikut situasi sebenar. Pada masa yang sama, terdapat juga fungsi sepadan yang boleh digunakan apabila mendapatkan data format JSON dari halaman hadapan dan menukarnya menjadi tatasusunan atau objek dalam PHP. Menguasai penggunaan yang betul bagi fungsi ini adalah sangat penting untuk membangunkan aplikasi web.

Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan dan objek dalam PHP kepada format 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