西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > 开发教程 > JavaScript教程 >

JavaScript对象与JSON

时间:2016-01-18 01:31来源:未知 作者:好模板 点击:
JSON:JavaScript Object Natation:JavaScript对象的表现形式,已经发展成一种轻量级的数据交换格式。 JavaScript对象的表现形式,指定义JS对象的一种方式。 数据交换格式,即用于交换的数据格

JSON:JavaScript Object Natation:JavaScript对象的表现形式,已经发展成一种轻量级的数据交换格式。

JavaScript对象的表现形式,指定义JS对象的一种方式。

数据交换格式,即用于交换的数据格式。

JSON字符串是符合JSON语法格式的字符串。

JSON与XML相比,JSON更轻量级,XML更重量级,目前XML更多的用作配置文件。

数据在键值对中, 数据由逗号分隔, 花括号保存对象, 方括号保存数组.

键值对组合中的名称写在前面,值对写在后面,中间用冒号隔开

JSON 值可以是: 数字, 字符串, 逻辑值, 数组, 对象, null

虽然有人说JavaScript 中的所有事物都是对象,但是 javascript 中,并不是所有的值都是对象,而有两种值类型:原始值和对象。(JavaScript原始值:

字符串,数字,布尔值,null,undefined

注:在 JavaScript 中所有的数字都是浮点数

JavaScript内置对象:

Object(基础对象),Array(数组),Function(函数构造器),Math(数学对象),

String(字符串对象),Number(数值对象),Boolean(布尔对象),Date(日期时间),

Error(异常对象),RegExp(正则表达式对象),Arguments(函数参数集合)

其中 Boolean, Number, String 是原始值的包装器,很少直接使用

JavaScript 创建对象的方法:

1)使用内置对象

var person=new Object();//创建基础对象实例,然后为其添加属性

person.firstname="Bill";

person.lastname="Gates";

person.age=56;

2)自定义对象构造

function Person(firstname,lastname,age){//自定义对象构造器,然后创建实例

this.firstname=firstname;

this.lastname=lastname;

this.age=age;

}

var person=new Person("Bill","Gates",56);

//定义对象构造器,可以使用“this”关键字构造、也可以使用原型prototype构造

(参考:http://www.jb51.net/article/20428.htm JavaScript 三种创建对象的方法)

3)使用直接量(literals 有直接量、字面量、常量等词义)

var arr = [obj.a, 0, obj.a+1];

var obj = {name: 'John' + 'McCarthy'};

//准确的说不叫直接量(literals),而叫初始器(Initialiser),可以在里面使用表达式

//初始器有对象和数组两种,所以有“对象直接量”,“数组直接量”这样的说法

//初始器基于JSON,要符合JSON语法格式,因此有人说JSON是JavaScript的原生格式,在JavaScript中处理JSON数据不需要任何特殊的API或者工具包

//但是初始器里面是可以有表达式的,就像例子里的一样

(参考:http://www.cnblogs.com/snandy/p/3439790.html JavaScript中的直接量与初始器的区别)

推测:所谓的原始值就是指literals,只包括String,Number,Boolean,Null和正则表达式,不包括 Undefined 和 Initialiser,或者说JavaScript由直接量和对象组成。

实际开发中,1、2两种用的不多,常用第3种,即用直接量定义JS对象或数组,所以人们需要将JS对象转成JSON字符串时,常说将JSON对象转JSON字符串

JS对象和JSON字符串相互转换:

1:jQuery插件支持的转换方式

$.parseJSON( jsonstr );$("xxx").serializeArray();

2:浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器

JSON.parse(jsonstr);JSON.stringify(jsonobj);

3:Javascript支持的转换方式

eval('(' + jsonstr + ')');//不推荐

4:JSON官方的转换方式

引入 json.js 或 json2.js,用法同第二种

 

JAVA对象和JSON字符串相互转换:

可以用jackson、Gson和json-lib等


(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容