Apakah kaedah biasa php json

青灯夜游
Lepaskan: 2023-03-12 18:10:02
asal
2174 orang telah melayarinya

php json kaedah biasa: 1. json_encode(), digunakan untuk menyahkod rentetan dalam format JSON 2. json_encode(), digunakan untuk menyahkod rentetan dalam format JSON 3. json_last_error() , digunakan untuk mengembalikan yang terakhir ralat yang berlaku.

Apakah kaedah biasa php json

Persekitaran pengendalian tutorial ini: sistem Windows 7, versi PHP 7.1, komputer DELL G3

Kaedah biasa untuk php json :

1. json_encode()

PHP json_encode() digunakan untuk mengekod pembolehubah JSON dilaksanakan dengan jayanya, jika tidak, kembalikan FALSE.

Sintaks

string json_encode ( $value [, $options = 0 ] )
Salin selepas log masuk

Contoh:

<?php
   $arr = array(&#39;a&#39; => 1, &#39;b&#39; => 2, &#39;c&#39; => 3, &#39;d&#39; => 4, &#39;e&#39; => 5);
   echo json_encode($arr);
?>
Salin selepas log masuk

Hasil output:

{"a":1,"b":2,"c":3,"d":4,"e":5}
Salin selepas log masuk

2. Fungsi json_encode()

json_decode() digunakan untuk menyahkod rentetan format JSON dan menukarnya kepada pembolehubah PHP.

Sintaks:

mixed json_decode ($json_string [,$assoc = false [, $depth = 512 [, $options = 0 ]]])
Salin selepas log masuk

Parameter:

  • json_string: Rentetan JSON untuk dinyahkod, mestilah data yang dikodkan UTF-8

  • assoc: Apabila parameter ini TRUE, tatasusunan akan dikembalikan dan apabila FALSE, objek akan dikembalikan.

  • kedalaman: parameter jenis integer, yang menentukan kedalaman rekursi

  • pilihan: topeng binari, pada masa ini hanya JSON_BIGINT_AS_STRING yang disokong.

Contoh:

Salin selepas log masuk

Hasil keluaran:

object(stdClass)#1 (5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}

array(5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}
Salin selepas log masuk

3 json_last_error()

json_last_error - Mengembalikan ralat terakhir yang berlaku

Sintaks:

json_last_error()
Salin selepas log masuk

Jika ada, mengembalikan ralat terakhir yang berlaku semasa pengekodan dan penyahkodan JSON. Integer akan dikembalikan dan nilai ini akan menjadi salah satu daripada pemalar berikut:

< td>

JSON_ERROR_NONE
<?php
// 一个有效的 json 字符串
$json[] = &#39;{"Organization": "PHP Documentation Team"}&#39;;

// 一个无效的 json 字符串会导致一个语法错误,在这个例子里我们使用 &#39; 代替了 " 作为引号
$json[] = "{&#39;Organization&#39;: &#39;PHP Documentation Team&#39;}";


foreach ($json as $string) {
    echo &#39;Decoding: &#39; . $string;
    json_decode($string);

    switch (json_last_error()) {
        case JSON_ERROR_NONE:
            echo &#39; - No errors&#39;;
        break;
        case JSON_ERROR_DEPTH:
            echo &#39; - Maximum stack depth exceeded&#39;;
        break;
        case JSON_ERROR_STATE_MISMATCH:
            echo &#39; - Underflow or the modes mismatch&#39;;
        break;
        case JSON_ERROR_CTRL_CHAR:
            echo &#39; - Unexpected control character found&#39;;
        break;
        case JSON_ERROR_SYNTAX:
            echo &#39; - Syntax error, malformed JSON&#39;;
        break;
        case JSON_ERROR_UTF8:
            echo &#39; - Malformed UTF-8 characters, possibly incorrectly encoded&#39;;
        break;
        default:
            echo &#39; - Unknown error&#39;;
        break;
    }

    echo PHP_EOL;
}
?>
Salin selepas log masuk
< td>

JSON_ERROR_DEPTH

tr>Contoh: Hasil keluaran: Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Apakah kaedah biasa php json. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
JSON 错误码
常量含义可用性
JSON_ERROR_NONE没有错误发生
JSON_ERROR_DEPTH到达了最大堆栈深度
JSON_ERROR_STATE_MISMATCH无效或异常的 JSON
JSON_ERROR_CTRL_CHAR控制字符错误,可能是编码不对
JSON_ERROR_SYNTAX语法错误
JSON_ERROR_UTF8异常的 UTF-8 字符,也许是因为不正确的编码。PHP 5.3.3
JSON_ERROR_RECURSIONOne or more recursive references in the value to be encodedPHP 5.5.0
JSON_ERROR_INF_OR_NANOne or more NAN or INF values in the value to be encodedPHP 5.5.0
JSON_ERROR_UNSUPPORTED_TYPE指定的类型,值无法编码。PHP 5.5.0
JSON_ERROR_INVALID_PROPERTY_NAME指定的属性名无法编码。PHP 7.0.0
JSON_ERROR_UTF16畸形的 UTF-16 字符,可能因为字符编码不正确。PHP 7.0.0
Kod ralat JSON

MalarMaksudKetersediaan
Tiada ralat berlaku
Kedalaman tindanan maksimum dicapai

JSON_ERROR_STATE_MISMATCH
Decoding: {"Organization": "PHP Documentation Team"} - No errors
Decoding: {&#39;Organization&#39;: &#39;PHP Documentation Team&#39;} - Syntax error, malformed JSON
Salin selepas log masuk
JSON tidak sah atau tidak normal

JSON_ERROR_CTRL_CHAR

Watak kawalan salah, mungkin pengekodan salah
JSON_ERROR_SYNTAX Ralat sintaks td >
JSON_ERROR_UTF8 Aksara UTF-8 yang luar biasa, mungkin disebabkan pengekodan yang salah. PHP 5.3.3
JSON_ERROR_RECURSION Satu atau lebih rekursif rujukan dalam nilai yang akan dikodkan PHP 5.5.0
JSON_ERROR_INF_OR_NAN Satu atau lebih NAN atau INF nilai dalam nilai yang akan dikodkan PHP 5.5.0
JSON_ERROR_UNSUPPORTED_TYPE td> Jenis yang ditentukan, nilai tidak boleh dikodkan. PHP 5.5.0
JSON_ERROR_INVALID_PROPERTY_NAME Nama harta yang ditentukan Tidak dapat untuk mengekod. PHP 7.0.0
JSON_ERROR_UTF16 UTF- 16 Cacat aksara, mungkin kerana pengekodan aksara tidak betul. PHP 7.0.0