Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menukar objek json kepada tatasusunan PHP

Bagaimana untuk menukar objek json kepada tatasusunan PHP

PHPz
PHPzasal
2023-04-17 11:25:03546semak imbas

json ialah format pertukaran data ringan yang semakin popular. PHP ialah bahasa pengaturcaraan bahagian pelayan yang sangat baik yang sesuai untuk pembangunan web. Oleh itu, menukar objek json kepada tatasusunan PHP adalah kemahiran yang sangat berguna. Dalam artikel ini, kita akan belajar cara menukar objek json kepada tatasusunan PHP.

  1. fungsi json_decode()

Fungsi json_decode() dalam PHP ialah cara utama untuk menukar rentetan berformat json kepada pembolehubah PHP (tatasusunan atau objek). Sintaksnya adalah seperti berikut:

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

Perihalan parameter:

  • json: rentetan json.
  • assoc: Nilai Boolean yang menunjukkan sama ada hendak menukar objek json kepada tatasusunan bersekutu.
  • depth: Jenis integer, menunjukkan kedalaman maksimum. Secara lalai, kedalaman maksimum ialah 512, yang boleh ditakrifkan menggunakan pemalar JSON_DEPTH.
  • options: Pilihan untuk kawalan proses penyahkodan yang lebih terperinci. Gabungan pemalar berikut boleh digunakan:
常量 描述
JSON_BIGINT_AS_STRING 在 PHP 5.4.0 及更高版本中可用。将大于 PHP_INT_MAX 的整数转换为字符串。
JSON_INVALID_UTF8_IGNORE
JSON_INVALID_UTF8_SUBSTITUTE
在 PHP 5.3.3 及更高版本中可用。JSON_INVALID_UTF8_IGNORE 此选项将忽略非法 UTF-8 字符。JSON_INVALID_UTF8_SUBSTITUTE 此选项将使用 Unicode 替换字符来替换非法 UTF-8 字符。
JSON_OBJECT_AS_ARRAY 将 json 对象转换为关联数组。
JSON_THROW_ON_ERROR 在 PHP 7.3.0 及更高版本中可用。此常量用于自动抛出异常,而不是返回 FALSE

Contoh:

Berikut ialah rentetan JSON:

{
  "name": "John Doe",
  "age": 30,
  "city": "New York"
}

Gunakan json_decode() fungsi untuk menukarnya Untuk tatasusunan bersekutu:

$json = '{"name":"John Doe","age":30,"city":"New York"}';
$arr = json_decode($json, true);

print_r($arr);

Output:

Array
(
    [name] => John Doe
    [age] => 30
    [city] => New York
)
  1. json_decode() Nota tentang penggunaan fungsi
  • json_decode() Hanya data yang dikodkan UTF-8 boleh diproses.
  • json_decode() hanya menyokong jenis data yang digunakan dalam PHP, seperti rentetan, nombor, tatasusunan dan objek.
  • json_decode() tidak menyokong jenis data khas seperti sumber dan fungsi panggil balik.
  • json_decode() hanya menyokong rentetan json dengan petikan berganda. Jangan gunakan petikan tunggal atau nama kunci yang tidak disebut.
  • Apabila diberikan kepada fungsi json_encode(), gunakan pemalar JSON_UNESCAPED_UNICODE untuk memastikan aksara bukan ASCII dilepaskan.
  1. Contoh

Berikut ialah contoh lengkap menukar rentetan json kepada tatasusunan PHP:

<?php
// 1. 定义 json 格式的字符串
$json = &#39;{"name":"John Doe","age":30,"city":"New York"}&#39;;

// 2. 将 json 格式的字符串转换为 PHP 数组
$arr = json_decode($json, true);

// 3. 输出转换后的数组
print_r($arr);
?>

Output:

Array
(
    [name] => John Doe
    [age] => 30
    [city] => New York
)
  1. Kesimpulan

Seperti yang dinyatakan di atas, kita boleh menggunakan fungsi json_decode() untuk menukar objek json kepada tatasusunan PHP. Teknik ini sangat berguna dalam pembangunan web dan membantu kami menghuraikan data JSON daripada panggilan AJAX.

Atas ialah kandungan terperinci Bagaimana untuk menukar objek json kepada tatasusunan PHP. 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