JavaScript内置对象JSON
JSON 命名空间对象包含用于解析 JavaScript 对象表示法(JSON)和将值转换为 JSON 字符串的静态方法。
描述
与大多数全局对象不同,JSON 不是一个构造函数。不能将它与 new 运算符 一起使用,也不能将 JSON 对象作为函数调用。JSON的所有属性和方法都是静态的(就像 Math 对象一样)。
JavaScript 与 JSON 的区别
JSON 是一种语法,用来序列化对象、数组、数值、字符串、布尔值和 null。它基于 JavaScript 语法,但与之不同:大部分 JavaScript 不是 JSON。例如:
- 对象和数组
属性名称必须是双引号括起来的字符串;禁止出现尾随逗号。 - 数值
禁止出现前导零。小数点后必须至少有一位数字。不支持 NaN 和 Infinity。 - 其他区别包括只允许双引号字符串,不支持 undefined 或注释。
静态方法
- JSON.parse()
解析 JSON 字符串并返回对应的值,可以额外传入一个转换函数,用来将生成的值和其属性,在返回之前进行某些修改。 - JSON.stringify()
返回与指定值对应的 JSON 字符串,可以通过额外的参数,控制仅包含某些属性,或者以自定义方法来替换某些属性值。
示例
{
"data": {
"name": "zhangsan",
"releases": {
"release_date": "2023-11-09",
"status": "retired",
"engine": "Gecko",
"engine_version": "1.7"
}
}
}