JavaScript中的对象与JSON
JavaScript中的对象与JSON:定义、转换与
JSON,全称JavaScript Object Notation,是一种轻量级的数据交换格式。它在服务器与JavaScript之间的交互中扮演着重要的角色。作为一种数据交换格式,JSON类似于XML和YAML,但更为简洁。在JavaScript中,对象是一种复合数据类型,类似于其他语言中的数组、类或结构体。
一、定义JSON与JavaScript对象
在JavaScript中定义对象时,属性名可以带有或不带引号。如果属性名包含特殊字符,如!"$%&'()+,-./:;<=>?@[\]^_`{|}~等,则必须加双引号。而对于JSON,所有的属性名都必须加双引号。
例如:
1. 定义JavaScript对象:
```javascript
var obj = {name: "tudouya", "sex": "man"}; // 属性名可以加双引号也可以不加
var objSpecial = {"!": "hello world"}; // 属性名包含特殊字符时必须加双引号
```
2. 定义JSON字符串:
```javascript
var jsonString = {"name": "tudouya"}; // 定义JSON时必须加双引号
```
二、JavaScript对象转换为JSON
我们可以使用JavaScript的内置函数`JSON.stringify()`将JavaScript对象转换为JSON字符串。这个函数会将一个JavaScript对象转换为一个JSON格式的字符串。需要注意的是,如果对象中包含函数和日期类型的属性,JSON会忽略函数类型的属性,并将日期类型的属性转换为字符串格式。
例如:
```javascript
var obj = {
name: "tudouya",
birthday: new Date(),
action: function() {
document.write("walk");
}
};
var jsonObj = JSON.stringify(obj);
console.log(jsonObj); // 输出结果为{"name":"tudouya","birthday":"2014-08-12T10:05:00.497Z"}
```
三、JSON
在老版本的JavaScript中,通常使用`eval()`函数来JSON。但在ECMAScript5中,提供了一个更为安全和高效的函数`JSON.parse()`来JSON字符串,将其转换为JavaScript对象。需要注意的是,`JSON.parse()`函数是ECMAScript5以后才支持的,旧版本的浏览器可能不支持。如果是这种情况,可以加载一个实现该函数的js文件,如json2.js。如果使用jQuery框架,可以使用`jQuery.parseJSON()`函数,它内部调用了`JSON.parse()`方法。
需要明确一个重要的概念:并没有所谓的“JSON对象”,JSON真正的表现形式是字符串。我们常说将JavaScript对象转换为JSON字符串,或者将JSON字符串为JavaScript对象。
理解JavaScript中的对象与JSON,掌握它们之间的转换和方法,对于前端开发者来说是非常重要的。
编程语言
- JavaScript中的对象与JSON
- CI(CodeIgniter)框架配置
- PHP入门之常量简介和系统常量
- JavaScript中使用Callback控制流程介绍
- 浅析SQL Server授予了CREATE TABLE权限但是无法创建表
- 微信小程序实现登录注册tab切换效果
- 科学知识:时间复杂度计算方法
- Bootstrap和Angularjs配合自制弹框的实例代码
- PHP简单检测网址是否能够正常打开的方法
- PHP框架Laravel的小技巧两则
- php微信公众号开发模式详解
- Apache服务器下防止图片盗链的办法
- js简单获取表单中单选按钮值的方法
- sql集合运算符使用方法
- 浅谈Bootstrap的DatePicker日期范围选择
- 怎么通过onclick事件获取js函数返回值(代码少)