JSON

1.JSON是一种数据格式,不是一种编程语言,虽然具有相同的语法形式,但是JSON并不从属于JS。而且并不只有JS才使用JSON,毕竟JSON是一种数据格式。很多编程语言都有针对JSON的解析器和序列化器。

2. JSON的数据形式

    *最简单的JSON数据形式就是简单值。注意:JSON字符串必须使用双引号,如果使用单引号会导致语法错误。

//JSON简单值
    10
    "hello"
    true
    null

   *对象。与JS对象字面量相比,JSON有两点不同之处,1.没有声明变量,JSON中没有变量的概念。2.没有末尾的分号,因为它不是JS语句所以不需要分号。注意:JSON中对象的属性名也要加双引号。

//JS对象字面量表示
var box = {
	name : 'Lee', 
	age : 100
};

alert(box.name);

//JSON对象表示,属性名也要使用双引号
{
	"name" : "Lee",
	"age" : 100
}
//JSON可以在对象中嵌入对象,该例子中虽然有两个name属性,但是它们分属不同的对象,所以没有问题。但是同一个对象不能有
//重名的属性
{
	"name" : "Lee",
	"age" : 100
	"school":{
		"name":"xiwanxiaoxue"
		"adds":"zancun"
	}
}

    *数组

//普通数组
var box = [100, 'Lee', true];

//JSON数组
[100, "Lee", true]

/**
 *PS:JSON说白了就是一个字符串,所以任何表示,都应该加上双引号表示字符串
 *PS:JSON对象和数组比普通对象和数组,少了分号,少了变量赋值,而且本身应该是字符串表示
 *JSON数组也没有变量和分号,把数组和对象结合起来,就可以构成更加复杂的数据结构
 */
//最常用的JSON结构。数组中包含对象,每个对象都有几个属性,属性的值还可以是数组。总之它们结合使用可以创造出各种各样的
数据结构。
[
	{
		"title" : "a",
		"num" : 1
	},
	{
		"title" : "b",
		"num" : 1
	},
	{
		"title" : "c",
		"num" : 1
	}
]
3. 解析与序列化

     JSON之所有流行,就是因为它可以把JSON数据结构解析为有用的JS对象。从而可以方便的去获取数据。

    1.JSON对象

    JSON对象有两个方法:stringify()  parse()

    这两个方法分别用于将JS对象序列化为JSON字符串和把JSON字符串解析为JS值。

                  //一个JS对象字面量
		   var test = {
		   	name :"张三",
		   	age : 19,
		   	adds : "火星"		   	
		   };
		   //转换为JSON格式
		   var jsonText = JSON.stringify(test);
		   alert(jsonText);//弹出::{"name":"张三","age":19,"adds":"火星"}
		   //将jsonText转换为对象
		   var testCopy = JSON.parse(jsonText);
		   alert(testCopy.name);//弹出:张三
		  // 注意:虽然testCopy和test有者相同的属性,但是它们是相互独立的,没有任何的关系。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值