,height="160cm",weight="60kg" { "name": "二百六", "height": "160cm", "weight": "60kg" } 这三种方式都是在表达同样的信息,但第三种方式就是JSON格式,它遵循特定的规则,如键值对的形式,键必须用引号括起来,以及数据类型的限制(比如数字不能包含逗号等)。 二、JSON与JS对象的区别 虽然JSON看起来很像JavaScript对象,它们之间确实存在一些关键区别: 1. JSON是文本:JSON是基于文本的,本质上是字符串,可以被任何语言解析。而JS对象是JavaScript内部的数据结构。 2. 数据类型:JSON只支持少数几种数据类型,包括字符串、数字、布尔值、数组、对象和null,而不像JS对象可以包含函数、undefined等更复杂的数据类型。 3. 语法规范:JSON的键必须用双引号包围,而JS对象可以用单引号或双引号。此外,JSON不允许逗号结尾,而JS对象可以。 三、JSON.stringify()函数详解 在JavaScript中,`JSON.stringify()`方法用于将JS对象转换成JSON字符串。对于给出的例子: ```javascript var friend = { firstName: 'Good', 'lastName': 'Man', 'address': undefined, 'phone': ['1234567', undefined], 'fullName': function() { return this.firstName + '' + this.lastName; } }; JSON.stringify(friend); ``` 此调用会返回: ```json '{"firstName":"Good","lastName":"Man","address":null,"phone":["1234567",null]} ``` 注意,`undefined`会被转化为`null`,而函数不会被包含在JSON字符串中,因为它们不是JSON支持的数据类型。 四、JSON.parse()与toJSON()方法 `JSON.parse()`是反向操作,将JSON字符串解析成JS对象。对于序列化的`friend`对象,如果你有一个JSON字符串,你可以使用`JSON.parse()`将其恢复为对象。 至于`toJSON()`,这是JavaScript对象的一个方法,用于在序列化之前自定义对象的表示。如果对象有`toJSON()`方法,`JSON.stringify()`会调用这个方法,并使用其返回值进行序列化。因此,如果你想在序列化时修改`friend`对象的属性,可以在`friend`上添加`toJSON()`方法来实现。 五、JSON美化 在实际应用中,我们可能需要使JSON字符串更易读,这可以通过`JSON.stringify()`的第二个和第三个参数实现。第二个参数可以是一个函数,用于转换对象的属性值;第三个参数可以是一个数字,指定缩进空格数,例如: ```javascript var prettyJson = JSON.stringify(friend, null, 2); ``` 这将返回一个美化过的JSON字符串,具有两个空格的缩进。 总结,理解JSON的关键在于它的格式规范、与JS对象的差异,以及在JavaScript中如何使用`JSON.stringify()`、`JSON.parse()`和`toJSON()`来操作JSON数据。通过深入学习这些概念,开发者可以更好地进行数据交换和序列化操作。
下载后可阅读完整内容,剩余5页未读,立即下载
- 粉丝: 4
- 资源: 897
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- WebLogic集群配置与管理实战指南
- AIX5.3上安装Weblogic 9.2详细步骤
- 面向对象编程模拟试题详解与解析
- Flex+FMS2.0中文教程:开发流媒体应用的实践指南
- PID调节深入解析:从入门到精通
- 数字水印技术:保护版权的新防线
- 8位数码管显示24小时制数字电子钟程序设计
- Mhdd免费版详细使用教程:硬盘检测与坏道屏蔽
- 操作系统期末复习指南:进程、线程与系统调用详解
- Cognos8性能优化指南:软件参数与报表设计调优
- Cognos8开发入门:从Transformer到ReportStudio
- Cisco 6509交换机配置全面指南
- C#入门:XML基础教程与实例解析
- Matlab振动分析详解:从单自由度到6自由度模型
- Eclipse JDT中的ASTParser详解与核心类介绍
- Java程序员必备资源网站大全