English | 简体中文 | 繁體中文
查询

json_encode()函数—用法及示例

「 将数组或对象转换为JSON格式的字符串 」


函数名:json_encode()

适用版本:PHP 5 >= 5.2.0, PHP 7

用法:json_encode(mixed $value, int $options = 0, int $depth = 512): string|false

参数:

  • $value (必需):要编码为 JSON 字符串的值。可以是任何类型的变量,除了资源类型。
  • $options (可选):用于修改编码过程的选项。默认值为 0。可选的选项有:
    • JSON_HEX_QUOT: 所有的双引号都将转换为 \u0022。
    • JSON_HEX_TAG: 所有的 < 和 > 将转换为 \u003C 和 \u003E。
    • JSON_HEX_AMP: 所有的 & 将转换为 \u0026。
    • JSON_HEX_APOS: 所有的 ' 将转换为 \u0027。
    • JSON_NUMERIC_CHECK: 将所有数字字符串转换为数字类型。
    • JSON_PRETTY_PRINT: 使用空白字符格式化编码后的 JSON 字符串。
    • JSON_UNESCAPED_SLASHES: 不对斜杠进行转义。
    • JSON_UNESCAPED_UNICODE: 不对 Unicode 字符进行转义。
    • JSON_PARTIAL_OUTPUT_ON_ERROR: 在编码期间遇到错误时,返回部分 JSON 字符串。
  • $depth (可选):设置递归深度。默认值为 512。

返回值:

  • 返回编码后的 JSON 字符串,如果编码失败则返回 false。

示例:

  1. 编码一个简单的数组:
$arr = array('apple', 'banana', 'orange');
$json = json_encode($arr);

echo $json;
// 输出:["apple","banana","orange"]
  1. 编码一个关联数组,并使用选项进行格式化:
$arr = array('name' => 'John', 'age' => 30, 'city' => 'New York');
$json = json_encode($arr, JSON_PRETTY_PRINT);

echo $json;
// 输出:
// {
//     "name": "John",
//     "age": 30,
//     "city": "New York"
// }
  1. 编码一个包含特殊字符的字符串:
$str = "This is a \"quoted\" string.";
$json = json_encode($str);

echo $json;
// 输出:"This is a \"quoted\" string."
  1. 编码一个包含 Unicode 字符的字符串,并禁用 Unicode 转义:
$str = "Hello, 世界!";
$json = json_encode($str, JSON_UNESCAPED_UNICODE);

echo $json;
// 输出:"Hello, 世界!"

注意:json_encode() 函数在编码过程中,会自动将非 UTF-8 编码的字符串转换为 UTF-8。如果编码过程中遇到无法转换的字符,将会返回 false。

补充纠错
上一个函数: json_last_error()函数
下一个函数: json_decode()函数
热门PHP函数
分享链接