JSON是一种轻量级的数据交换格式,常用于前后端数据的传输和存储。JSON由键值对组成,其中键必须是字符串,值可以是字符串、数字、布尔值、数组、对象或null。在编程中,我们经常需要将JSON格式的数据转换为程序可用的数据类型,称为解码或反序列化操作。在PHP中,可以使用json_decode()函数进行这个操作。
例如,我们有以下JSON字符串:
```
$json_str = '{"name":"Tom","age":18,"is_student":true}';
```
我们可以使用json_decode()函数将它转换为PHP对象或关联数组,如下所示:
```
$php_obj = json_decode($json_str); // 返回一个stdClass对象
$php_arr = json_decode($json_str, true); // 返回一个关联数组
```
注意,第二个参数为true时,json_decode()函数将返回关联数组,否则返回stdClass对象。如果JSON字符串无效,json_decode()函数将返回null。
而在编程中我们也经常需要将数据转换为JSON格式进行传输和存储。在PHP中,可以使用json_encode()函数将PHP对象或数组转换为JSON字符串。
例如,我们有以下PHP数组:
```
$person = array("name" => "Tom", "age" => 18, "is_student" => true);
```
我们可以使用json_encode()函数将它转换为JSON字符串,如下所示:
```
$json_str = json_encode($person); // 返回 '{"name":"Tom","age":18,"is_student":true}'
```
注意,json_encode()函数可以接受多个参数,其中第二个参数指定是否格式化输出,第三个参数指定JSON中字符串的引号风格,第四个参数指定JSON编码的深度等。有关更多详细信息,请参阅PHP文档。