Bagaimana untuk menukar json kepada rentetan dalam php

PHPz
Lepaskan: 2023-04-25 17:50:22
asal
897 orang telah melayarinya

PHP ialah bahasa skrip sebelah pelayan yang popular digunakan untuk membangunkan halaman web dinamik. Antaranya, JSON (JavaScript Object Notation) ialah format pertukaran data ringan yang biasa digunakan untuk mendapatkan data daripada perkhidmatan web atau permintaan Ajax. Menukar data JSON kepada rentetan ialah tugas biasa dalam PHP. Begini cara untuk melakukannya dengan PHP.

PHP menyediakan beberapa fungsi terbina dalam untuk memproses data JSON. Apabila kami mendapat data JSON daripada perkhidmatan web atau permintaan Ajax, ia biasanya dikembalikan sebagai rentetan. Pada ketika ini, kita boleh menggunakan fungsi json_decode() untuk menukar rentetan JSON kepada objek PHP. Sebagai contoh, katakan kita mendapat rentetan JSON berikut daripada pelayan:

{"name": "John", "age": 30, "city": "New York"}
Salin selepas log masuk
Salin selepas log masuk

Kemudian, kita boleh menukarnya menjadi objek PHP seperti berikut:

$json_string = '{"name": "John", "age": 30, "city": "New York"}';
$php_object = json_decode($json_string);
Salin selepas log masuk

Kod di atas A PHP objek akan dikembalikan yang mengandungi tiga sifat: nama, umur dan bandar. Seterusnya, kita boleh mendapatkan nilai setiap atribut melalui kod berikut:

$name = $php_object->name;
$age = $php_object->age;
$city = $php_object->city;
Salin selepas log masuk

Di sini, kami telah menggunakan pengendali anak panah (->) untuk mendapatkan nilai atribut daripada objek PHP. Seterusnya, kami akan membincangkan cara menukar objek PHP kepada rentetan JSON.

PHP menyediakan fungsi json_encode(), yang boleh menukar objek PHP kepada rentetan JSON. Sebagai contoh, katakan kita mempunyai objek PHP berikut:

$php_object = new stdClass();
$php_object->name = "John";
$php_object->age = 30;
$php_object->city = "New York";
Salin selepas log masuk

Kemudian, kita boleh menukarnya kepada rentetan JSON seperti berikut:

$json_string = json_encode($php_object);
Salin selepas log masuk

Kod di atas akan mengembalikan JSON berikut Rentetan:

{"name": "John", "age": 30, "city": "New York"}
Salin selepas log masuk
Salin selepas log masuk

Di sini, bukannya mencetak rentetan JSON ke skrin, kami menetapkannya kepada pembolehubah. Jika anda ingin mencetak rentetan JSON, anda boleh menggunakan kod berikut:

echo $json_string;
Salin selepas log masuk

Dengan cara ini, rentetan JSON akan dikeluarkan ke tetingkap penyemak imbas.

Jika objek PHP mengandungi tatasusunan bersarang atau objek lain, maka ia boleh ditukar kepada rentetan JSON secara rekursif seperti berikut:

function objectToArray($object) {
  if (!is_object($object) && !is_array($object)) {
    return $object;
  }
  if (is_object($object)) {
    $object = get_object_vars($object);
  }
  return array_map('objectToArray', $object);
}

$php_object = new stdClass();
$php_object->name = "John";
$php_object->age = 30;

$other_object = new stdClass();
$other_object->city = "New York";

$arr = array("one", "two", "three");

$php_object->other_object = $other_object;
$php_object->arr = $arr;

$php_array = objectToArray($php_object);

$json_string = json_encode($php_array);
Salin selepas log masuk

Kod di atas akan mengembalikan rentetan JSON berikut:

{"name": "John", "age": 30, "other_object": {"city": "New York"}, "arr": ["one", "two", "three"]}
Salin selepas log masuk

Apabila menukar objek PHP kepada rentetan JSON, kami mula-mula mentakrifkan fungsi bernama objectToArray(), yang boleh menukar objek PHP kepada tatasusunan. Seterusnya, kami mencipta objek PHP dan menyarangkan tatasusunan yang terkandung di dalamnya dan objek lain di dalamnya. Kami kemudian menggunakan fungsi objectToArray() untuk menukar objek PHP kepada tatasusunan dan fungsi json_encode() untuk menukarnya kepada rentetan JSON.

Untuk meringkaskan, menukar JSON kepada rentetan adalah sangat biasa dalam PHP. Anda boleh menggunakan fungsi json_decode() untuk menukar rentetan JSON kepada objek PHP dan fungsi json_encode() untuk menukar objek PHP kepada rentetan JSON. Jika objek PHP anda mengandungi tatasusunan bersarang atau objek lain, anda boleh menggunakan rekursi untuk menukarnya kepada rentetan JSON. Melalui fungsi ini, anda boleh menyepadukan data JSON dengan mudah dengan aplikasi PHP anda.

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

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan