JavaScript JSON.stringify() 方法用于将 JavaScript 值(例如对象或数组)转换为 JSON 字符串。使用此方法时,您可以选择包含一个名为 replacer 的可选参数,该参数可以指定为函数。
如果提供 replacer 函数,则允许修改要字符串化的值。此外,通过从 replacer 函数返回不同的值,您可以自定义生成的 JSON 字符串的输出。
语法
以下是 JavaScript JSON.stringify() 方法的语法 -
参数
此方法接受名为 'value'、'replacer' 和 'space' 的三个参数,如下所述 -
参数 | 描述 |
---|---|
value | 要转换为 JSON 字符串的值。 |
replacer(可选) | 修改字符串化过程的函数,或指定要包含在输出中的属性的字符串和数字数组。如果 'replacer' 是一个数组,则忽略非字符串和非数字元素(包括符号)。如果 'replacer' 不是函数或数组(例如,null 或未提供),则对象的所有字符串键属性都包含在生成的 JSON 字符串中。 |
space(可选) | 字符串或数字用于将空格(缩进、换行符等)插入到输出 JSON 字符串中,以提高可读性。 |
返回值
此方法返回一个表示给定值的 JSON 字符串,即 'undefined'。
示例 1
如果我们只将 value 参数传递给此方法,它会将此 JavaScript 值转换为 JSON 字符串。
在以下示例中,我们使用 JavaScript JSON.stringify() 方法将此 JavaScript 值 {a: 10, b: 20, c: 30, d: 40, e: 50} 转换为 JSON 字符串。
输出
上述程序在将 JavaScript 值转换为 − 后返回一个 JSON 字符串
转换为JSON字符串后:{"a":10,"b":20,"c":30,"d":40,"e":50}
示例 2
如果我们将 value 和 space 参数传递给此方法,它会将值转换为 JSON 字符串,并在每个字符前添加指定数量的缩进间距。
以下是 JavaScript JSON.stringify() 方法的另一个示例。我们使用此方法将 JavaScript 值 {“name”: “Rahul”, “age”: 22, “city”: “Lucknow”} 转换为带有 3 个缩进空格的格式化 JSON 字符串,以提高可读性。
输出
执行完上述程序后,会在控制台返回一个带有 3 个缩进的 JSON 字符串(更改只能在控制台看到)。
空格数量 3
{
"name": "Rahul",
"age": 22,
"city": "Lucknow"
}
示例 3
如果我们将 replacer(作为函数)作为参数传递给此方法,它将修改字符串化过程。
在下面的示例中,我们使用 JSON.stringify() 方法将 JavaScript 值转换为 JSON 字符串。我们定义了一个名为 modifyAge() 的 replacer 函数,该函数将每条记录的 age 增加 5。我们将此函数作为参数传递给方法,以便在返回结果之前对其进行修改。
输出
执行上述程序后,它将返回一个 JSON 字符串(修改了 age)。
空格数量: 5
JSON字符串(转换后):
[
{
"name": "Rahul",
"age": 27,
"city": "Lucknow"
},
{
"name": "Vikash",
"age": 25,
"city": "Hyderabad"
}
]