Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah kaedah biasa php json

Apakah kaedah biasa php json

青灯夜游
青灯夜游asal
2021-09-18 16:56:422168semak imbas

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 ] )

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);
?>

Hasil output:

{"a":1,"b":2,"c":3,"d":4,"e":5}

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 ]]])

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:

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)
}

3 json_last_error()

json_last_error - Mengembalikan ralat terakhir yang berlaku

Sintaks:

json_last_error()

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:

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;
}
?>

JSON_ERROR_DEPTH

tr>
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_RECURSION One or more recursive references in the value to be encoded PHP 5.5.0
JSON_ERROR_INF_OR_NAN One or more       NAN       or INF       values in the value to be encoded PHP 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

Malar Maksud Ketersediaan
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
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
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!

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