牛牛在线工具

json_decode()

收录 8868 个 PHP 函数,含用途说明与用法示例。

json_decode()

将 JSON 格式的字符串转换为 PHP 变量

函数名称:json_decode() 适用版本:PHP 5 >= 5.2.0, PHP 7 函数描述:json_decode() 函数用于将 JSON 格式的字符串转换为 PHP 变量。 用法: json_decode(string $json, bool $assoc = false, int $depth = 512, int $options = 0): mixed 参数: $json (必需):要解码的 JSON 字符串。 $assoc (可选):当该参数为 true 时,将返回关联数组;当该参数为 false 时,将返回对象。默认为 false。 $depth (可选):指定最大解码深度。默认为 512。 $options (可选):指定解码选项。默认为 0。 返回值: 解码成功时,将返回解码后的 PHP 变量。解码失败时,将返回 null。 示例: 解码 JSON 字符串为对象: $json_str = '{"name":"John", "age":30, "city":"New York"}'; $obj = json_decode($json_str); echo $obj->name; // 输出:John 解码 JSON 字符串为关联数组: $json_str = '{"name":"John", "age":30, "city":"New York"}'; $arr = json_decode($json_str, true); echo $arr["name"]; // 输出:John 解码包含嵌套数组的 JSON 字符串: $json_str = '{"name":"John", "age":30, "cities":["New York", "London", "Paris"]}'; $obj = json_decode($json_str); echo $obj->cities[0]; // 输出:New York 解码 JSON 字符串时设置解码选项: $json_str = '{"name":"John", "age":30, "city":"New York"}'; $obj = json_decode($json_str, false, 512, JSON_BIGINT_AS_STRING); echo $obj->age; // 输出:"30"(作为字符串类型输出) 注意事项: 该函数仅适用于解码 JSON 字符串,如果要将 PHP 变量编码为 JSON 字符串,需要使用 json_encode() 函数。 如果 JSON 字符串解码失败,将返回 null。可以通过使用 json_last_error() 和 json_last_error_msg() 函数获取解码错误的详细信息。 在 PHP 7 中,该函数支持解码更大深度的 JSON 字符串,默认为 512。在 PHP 5 中,默认深度为 128。可以通过修改 $depth 参数来自定义解码深度。 可以通过设置解码选项来改变解码行为,例如将大整数作为字符串类型输出(JSON_BIGINT_AS_STRING)。 JSON 字符串中的特殊字符(如斜杠、引号等)将自动进行转义。