php json_encode輸出為空問題


這種情況一般是json_encode序列化數組時出現錯誤,錯誤原因有很多,可以通過json_last_error函數來查看錯誤原因!!!

可能的原因

-----------------------------------------------------------

1、反斜杠,可以用stripslashes() 函數刪除由 addslashes() 函數添加的反斜杠,可能還要用到urlencode ()— 編碼 URL 字符串

-----------------------------------------------------------

json_last_error函數手冊地址(http://www.php.net/manual/zh/function.json-last-error.php)

-----------------------------------------------------------

(PHP 5 >= 5.3.0, PHP 7)

json_last_error — 返回最后發生的錯誤

說明

-----------------------------------------------------------

int json_last_error ( void ) 如果有,返回 JSON 編碼解碼時最后發生的錯誤。

參數

-----------------------------------------------------------

此函數沒有參數。

返回值

-----------------------------------------------------------

返回一個整型(integer),這個值會是以下的常量之一:

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

echo json_encode(array('error' => '0', 'message' => '沒有錯誤'));

var_dump(json_last_error());

//這里也可以是json_decode

//錯誤碼對照

0 JSON_ERROR_NONE

1 JSON_ERROR_DEPTH

2 JSON_ERROR_STATE_MISMATCH

3 JSON_ERROR_CTRL_CHAR

4 JSON_ERROR_SYNTAX

5 JSON_ERROR_UTF8

6 JSON_ERROR_RECURSION

7 JSON_ERROR_INF_OR_NAN

8 JSON_ERROR_UNSUPPORTED_TYPE

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM