Home  >  Article  >  Backend Development  >  Solution to PHP processing Json string decoding returning NULL, jsonnull_PHP tutorial

Solution to PHP processing Json string decoding returning NULL, jsonnull_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:19:47881browse

Solution to PHP processing Json string decoding returning NULL, jsonnull

The example in this article describes the solution for PHP to handle Json string decoding and return NULL. Share it with everyone for your reference. The specific method is as follows:

Generally speaking, php uses the json_decode() function to decode json strings. The first parameter is a string. If the second parameter is true, it returns an array; if it is false, it returns an object. If NULL is returned, an error is reported and json_last_error() is output. The obtained integer value corresponds to the error prompt . As shown below:

The most common value of json_last_error() is the integer 4, which means that the json string is incomplete before json_decode, so the syntax is wrong.

Then it must be that individual characters submitted by the client affect the format of json. You can use JS to filter, which can solve general problems. It mainly filters carriage returns, spaces, and html tags.

The implementation code is as follows:

/*
* 过滤函数
*/
function htmlEncode(str) {
  str = str.replace(/\s+/ig, '');
  str = str.replace(/&/g, '');
  str = str.replace(/</g, '');
  str = str.replace(/>/g, '');
  str = str.replace(/(&#63;:t| |v|r)*n/g, '<br />');
  str = str.replace(/t/g, '    ');
  str = str.replace(/x22/g, '"');
  str = str.replace(/x27/g, '&#39;');
  str = str.replace(/"/g, "");
  return str;
}

The above situation is for the fact that you must submit json string data to the server for processing, and can only be filtered on the client.

Some reasons why json_decode($str) returns NULL:

1.$str can only be encoded in UTF-8

2. The element cannot have a comma at the end (different from PHP’s array)

3. Elements cannot use single quotes

4. There cannot be spaces or n in the middle of the element value, and

must be replaced.

If you encounter the above situation, you can handle it according to the above methods. I hope this article will be helpful to everyone’s PHP programming.

php receives the json returned by php, and the parsed value is NULL

b.php must submit the cookie value when fetching json content, otherwise a.php will only return empty content.

Convert PHP array to JSON, the string "Restaurant/Café" is converted to json and displayed as null. How can I display the string correctly

Just put your key in single quotes and try it.

$arr = array ('Amenities' =>array ('Restaurant/Café' => array('Classroom' => 'Classroom')));
echo json_encode($arr ) ;

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/872372.htmlTechArticleSolution to how PHP handles Json string decoding and returns NULL, jsonnull This example describes how PHP handles Json string decoding and returns Solution to NULL. Share it with everyone for your reference. Tool...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn