json_encode()函数是将一个PHP变量转换为JSON格式的字符串。它接受一个参数,即要转换的PHP变量。如果成功,它将返回一个JSON格式的字符串;否则返回false。
下面是一些常见的用法示例:
$data = array('name' => 'John', 'age' => 30);
$jsonString = json_encode($data);
echo $jsonString;
输出结果为:{“name”:“John”,“age”:30}
class Person {
public $name;
public $age;
}
$person = new Person();
$person->name = 'John';
$person->age = 30;
$jsonString = json_encode($person);
echo $jsonString;
输出结果为:{“name”:“John”,“age”:30}
$data = array('name' => 'John', 'age' => 30);
$jsonString = json_encode($data, JSON_PRETTY_PRINT);
echo $jsonString;
输出结果为:
{
"name": "John",
"age": 30
}
json_decode()函数是将JSON格式的字符串转换为PHP变量。它接受一个参数,即要转换的JSON字符串。如果成功,它将返回一个PHP变量;否则返回null。
下面是一些常见的用法示例:
$jsonString = '{"name":"John","age":30}';
$data = json_decode($jsonString, true);
print_r($data);
输出结果为:Array([name] => John [age] => 30)
$jsonString = '{"name":"John","age":30}';
$data = json_decode($jsonString);
echo $data->name;
echo $data->age;
输出结果为:John 30
$jsonString = '{"name":"John","age":30}';
$data = json_decode($jsonString, false, 512, JSON_BIGINT_AS_STRING);
print_r($data);
输出结果为:stdClass Object([name] => John [age] => 30)
需要注意的是,json_decode()函数默认返回的是stdClass对象,如果要返回数组,则需要将第二个参数设置为true。
另外,json_decode()函数还有一些可选的参数,例如第三个参数可以用来指定最大解码深度,第四个参数可以用来指定解码时使用的选项等。详细信息可以参考PHP官方文档。