json_dumps
指令 `json_dumps` 将指定的 JSON 变量的 JSON 表示输出到一个字符串变量中。
NGINX JSON module
·
httpserverlocation
语法json_dumps $string $json [name ...];
默认值none
上下文http, server, location
参数2+
说明
json_dumps 指令旨在将以特定格式存储在 NGINX 中的 JSON 变量转换回字符串表示。这在需要将 JSON 数据序列化以便记录日志、在响应中显示或在你的 NGINX 配置中进一步处理时特别有用。该指令允许指定将 JSON 数据转储到的目标变量,以及在处理 JSON 对象或数组时的可选键或索引。
在 NGINX 配置中指定 json_dumps 指令时,它至少需要两个参数:目标字符串变量和要转储的 JSON 变量。如果 JSON 数据是对象或数组,可以使用附加键或索引指定要提取的元素。该功能会处理不同的场景,确保在提取或转换失败时进行适当的日志记录以便调试。此外,在转储过程中可以使用各种标志(如 JSON_PRESERVE_ORDER、JSON_ENCODE_ANY 和 JSON_COMPACT)来根据应用需求配置输出格式。
该指令可以在 http、server 和 location 等上下文中使用,为在应用不同部分处理 JSON 数据提供了很大的灵活性。它可以与现有的 NGINX 变量管理系统无缝集成,利用 NGINX 在处理请求时的性能和效率。
配置示例
location /example {
json_load $request_body json_data;
json_dumps $output_var json_data;
}⚠
在使用 json_dumps 之前,确保使用 json_load 指令正确加载 JSON 变量。
⚠
注意用于 JSON 对象的键或数组索引的类型;提供有效的类型以避免错误。
⚠
必须验证 JSON 变量的长度;意外的长度可能导致崩溃或无效输出。