一般是字符写错了,仔细检查下json_decode前的文本。是不是写错了什么字符。因为是laravel框架报错只能这样解决。
找到decode前的文本后,用下面的方法,进行debug。解决到JSON_ERROR_UTF8的错误就行了。
echo json_decode('"\‘x“'); var_dump(json_last_error()); // 0 = JSON_ERROR_NONE No error has occurred // 1 = JSON_ERROR_DEPTH The maximum stack depth has been exceeded // 2 = JSON_ERROR_STATE_MISMATCH Invalid or malformed JSON // 3 = JSON_ERROR_CTRL_CHAR Control character error, possibly incorrectly encoded // 4 = JSON_ERROR_SYNTAX Syntax error // 5 = JSON_ERROR_UTF8 Malformed UTF-8 characters, possibly incorrectly encoded PHP 5.3.3
package main import ( "fmt" "unicode/utf8" ) func main() { s := "2333我" fmt.Println(len(s)) fmt.Println(utf8.RuneCountInString(s)) }
JoyK Better personal homepage reddit styleGitHub Flavored Markdown syntax Adaptive layout
一般是字符写错了,仔细检查下json_decode前的文本。是不是写错了什么字符。因为是laravel框架报错只能这样解决。
找到decode前的文本后,用下面的方法,进行debug。解决到JSON_ERROR_UTF8的错误就行了。