With the continuous development of Internet technology, the communication protocol during the front-end and back-end interaction process has gradually changed from XML format to JSON format. When using the JSON format, it is found that sometimes extra spaces appear. These spaces not only increase the burden of data transmission, but also cause problems when parsing JSON data. Therefore, in actual development, we need to remove excess spaces in JSON data. This article will introduce how to remove extra spaces in JSON data through PHP.
1. Causes of excess spaces
Before understanding how to remove excess spaces in JSON, let’s first understand the causes of excess spaces.
When some programmers write code, they may miss some seemingly insignificant things in the spirit of "small problems are not problems" Small issues like extra spaces in JSON. And these "small problems" may eventually cause the program to run incorrectly.
When the front-end and back-end interact, extra spaces may be generated during data transmission. For example, when using the File_get_contents function to obtain JSON data, the returned content will contain extra spaces.
Sometimes, when writing JSON, in order to facilitate reading, we will manually add spaces in the JSON data. These manually added spaces may make the JSON data format non-standard, resulting in redundant spaces.
2. Remove excess spaces in JSON data
After understanding the reasons for the excess spaces, we will introduce how to remove excess spaces in JSON data through PHP.
Method 1: Use the Json_decode function
The Json_decode function in PHP can easily convert JSON data into a PHP array. When converting JSON data into a PHP array, you can remove excess spaces in the JSON data by setting the second parameter to true. The specific code is as follows:
$data = '{"name": "小明", "age": 18}'; $data = json_decode($data, true, JSON_UNESCAPED_UNICODE); echo json_encode($data, JSON_UNESCAPED_UNICODE);
In the above code, we use the Json_decode function to convert the JSON data $data into a PHP array. When using the Json_encode function for encoding, the second parameter is set to JSON_UNESCAPED_UNICODE, which ensures that Chinese will not be encoded. The principle of using this method to remove extra spaces from JSON is that spaces will be ignored when JSON is encoded.
Method 2: Manually remove spaces
In addition to using the Json_decode function, we can also manually write code to remove excess spaces in the JSON data. The specific code is as follows:
$data = '{"name": "小明", "age": 18}'; $data = preg_replace('/s/', '', $data); echo $data;
In the above code, we use the preg_replace function. This function is a regular expression replacement function. The first parameter is the regular expression and the second parameter is the replaced character. In this function, we use the regular expression s to match spaces in the input string. By replacing s with a null character, the effect of removing extra spaces in the JSON data can be achieved.
Summary:
In summary, this article introduces the causes of excess spaces in JSON data and gives two methods to remove excess spaces in JSON data. If you encounter the problem of extra spaces when using JSON data, you might as well try the above two methods. Hope this article can help everyone.
The above is the detailed content of json remove extra spaces php. For more information, please follow other related articles on the PHP Chinese website!