json_encode()
函数在 PHP 中用于将数组或对象转换为 JSON 字符串。以下是 json_encode()
函数的参数:
输入数据:这是要编码的数据,可以是一个数组、对象或者一个嵌套的数据结构。
选项:此参数是一个可选的整数或数组,用于控制 json_encode()
的行为。可以设置的选项包括:
JSON_UNESCAPED_SLASHES
:默认情况下,斜杠(/)会被转义为 \/
。启用此选项可防止斜杠被转义。JSON_UNESCAPED_UNICODE
:默认情况下,Unicode 字符会被转义。启用此选项可防止 Unicode 字符被转义。JSON_PRETTY_PRINT
:默认情况下,返回的 JSON 字符串不格式化。启用此选项可使输出的 JSON 字符串更易读(缩进和换行)。JSON_UNESCAPED_UNICODE
:此选项与 JSON_UNESCAPED_UNICODE
相同,但已被弃用,建议使用 JSON_UNESCAPED_UNICODE
。JSON_PARTIAL_OUTPUT_ON_ERROR
:默认情况下,如果遇到错误,json_encode()
会返回 null
或 false
。启用此选项可在遇到错误时返回部分输出而不是中止执行。JSON_ENCODE_OPTIONS
:此选项允许您传递一个整数,该整数指定要应用于 JSON 编码的选项。这些选项是 PHP 8.0 中引入的。回调函数:此参数允许您定义一个回调函数,该函数将在编码过程中应用于数组或对象的每个元素。这可以用于转换数据类型或添加自定义逻辑。回调函数应返回一个值,该值将替换原始值。
示例:
$data = [
"name" => "John",
"age" => 30,
"city" => "New York"
];
$options = JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT;
$json = json_encode($data, $options);
echo $json;
// 输出:
// {
// "name": "John",
// "age": 30,
// "city": "New York"
// }