JSON

json.encode

使用可选的格式和编码规则将 Luau 值序列化为 JSON。

语法

json.encode(value: any, options?: EncodeOptions): string

参数

名称类型描述
valueany要写入的新值。
options?EncodeOptions控制操作行为方式的可选设置表。

返回值

名称类型描述
jsonstringJSON 字符串结果。

说明

使用可选的格式和编码规则将 Luau 值序列化为 JSON。

使用 2 个参数调用: value, options。参数表会说明哪些值必填,哪些值只用于细化行为。

返回 json (string)。使用返回表区分成功值、nil 结果和可恢复错误。

示例

将表编码为具有稳定键排序的格式化 JSON。

local payload = {
    name = "Real",
    enabled = true,
    tags = { "api", "docs" },
}

local text = json.encode(payload, {
    pretty = true,
    sortKeys = true,
})

print(text)

类型

EncodeOptions

控制 JSON 序列化和格式设置。

pretty? boolean 启用格式化的多行 JSON 输出。sortKeys? boolean 在编码之前对对象键进行排序。emptyTableAsArray? boolean 将空表编码为数组而不是对象。errorOnUnsupported? boolean 引发错误而不是替换不受支持的值。encodeInvalidNumbersAsNull? boolean 将 NaN 和无限数编码为 JSON null。maxDepth? integer 设置最大嵌套深度,范围为 1 到 4096。indent? string 设置缩进字符串,限制为 32 个字符。