In Web development, the JSON (JavaScript Object Notation) format has become a widely used data exchange format. As a popular server-side language, PHP naturally supports converting JSON-formatted strings into array objects. This article will introduce how to convert JSON to an array object using PHP.
PHP’s built-in json_decode function can convert JSON format strings into PHP array objects. The following is a basic usage example:
<?php $json_str = '{"name": "张三", "age": 20}'; $array_obj = json_decode($json_str); print_r($array_obj); ?>
In the above code, we first define a JSON format string $json_str, which contains a string attribute named name and a name is the integer attribute of age, then use the json_decode function to convert the string into an array object $array_obj, and finally use the print_r function to output the array object. The output obtained by running the script is:
stdClass Object ( [name] => 张三 [age] => 20 )
As you can see, the json_decode function successfully converts the JSON format string into an array object.
By default, the json_decode function returns the stdClass object, which is a standard class built into PHP. Used to represent any data type. If you want to convert a JSON string into an associative array (that is, use the property name as the key name), you can set the second parameter to true, as shown below:
<?php $json_str = '{"name": "张三", "age": 20}'; $array_obj = json_decode($json_str, true); print_r($array_obj); ?>
Here the second parameter is set to true , the json_decode function will return an associative array, using the attribute name as the key name. The output obtained by running the script is:
Array ( [name] => 张三 [age] => 20 )
As you can see, the json_decode function returns an associative array, which is different from the previous example output.
When the JSON-formatted string cannot be converted into an array object, the json_decode function will return null. Therefore, we need to handle conversion failure cases in our code. Here is an example:
<?php $json_str = 'invalid json string'; $array_obj = json_decode($json_str); if(is_null($array_obj)) { echo('JSON转换失败'); } else { print_r($array_obj); } ?>
In the above code, we assign an invalid JSON string to the variable $json_str and then use the json_decode function to convert the string. Since the string cannot be converted to an array object, the json_decode function will return null. Therefore, we use the is_null function to determine whether the return result is null. If so, "JSON conversion failed" will be output, otherwise the converted array object will be output. The output obtained by running this script is:
JSON转换失败
Conclusion
In PHP, using the json_decode function to convert a JSON-formatted string into an array object is a very basic operation. This article introduces the basic usage of the json_decode function as well as some common tips and precautions. By learning these knowledge points, readers can become more proficient in using PHP to process data in JSON format.
The above is the detailed content of PHP converts json into array object. For more information, please follow other related articles on the PHP Chinese website!