Resolve PHP json decode error: Difference between revisions
Jump to navigation
Jump to search
| Line 2: | Line 2: | ||
== Syntax error, malformed JSON == | == Syntax error, malformed JSON == | ||
Possible causes | Possible causes | ||
* the input is empty or multiple white spaces | * the input is empty entirely or multiple white spaces | ||
* the input contains [[Byte order mark]] (BOM)<ref>[https://blog.longwin.com.tw/2013/11/php-json_decode-null-fix-2013/ PHP json_decode() 傳回 NULL 的解法 | Tsung's Blog]</ref> | * the input contains [[Byte order mark]] (BOM)<ref>[https://blog.longwin.com.tw/2013/11/php-json_decode-null-fix-2013/ PHP json_decode() 傳回 NULL 的解法 | Tsung's Blog]</ref> | ||
Revision as of 14:52, 12 April 2019
Syntax error, malformed JSON
Possible causes
- the input is empty entirely or multiple white spaces
- the input contains Byte order mark (BOM)[1]
Solution:
- Not allowed empty input
- Remove Byte order mark (BOM)
- Use JSONLint - The JSON Validator to validate the JSON format
Unexpected control character found
Possible causes
- the input string contains control characters
Solution:
- Remove control character. Using PHP:
$replacement = '';
preg_replace('/[\x00-\x1F]/', $replacement, $input);