JavaScript中JSON的解析和序列化

一、什么是json

    json是一种数据格式。js中可以通过json这种数据格式在前端和后台之间传值。但不只仅仅js用json这种数据格式来传值,Java、.net、PHP 等语言也都有各自的方法,将对象解析为json的方法和将json序列化为对象的方法。

二 、json的语法

    1、简单值

    与JavaScript中类似的语法。json可以表示为:字符串、数字、布尔和null,但是在JavaScript 中的undefined不能再json中使用。

    例如:创建一个简单值的json

    

5                  //数值型;
"aihao"            //字符串型
null               //null型
false               //布尔型

 

    2、对象

 

    对象是一种复杂的数据类型。它可以表示一组无序的键值对,键值对中的值,可以为简单值,也可以为复杂类型值。

    例如:创建一个对象的json

'{"name":"xiaoming","age":10}'

    可以看到json对象与JavaScript对象不同:首先,不需要声明json(没有var);其次json里面的属性也要用双引号括起来。js中的属性可以用双引号,也可以不用双引号。

    3、数组

    数组也是一种复杂的数据格式。数组里面可以包含对象,这是json常用的组合方法。

    例如:创建一个数组json

'[{"name":"xiaoming","age":10},{"name":"xiaohong","age":20}]'

三、JavaScript中JSON的解析与序列化

    1、早期的解析与序列化,eval()

   

var json='[{"name":"xiaoxiao","age":10},{"name":"xiaoming","age":20}]';//创建json数组

var json1=eval(json);//将json格式数据解析为JavaScript对象

    2、JavaScript对象序列化为json对象

    JSON.stringify()函数

    JSON.stringify()函数有三个参数。第一个参数表示有效的js对象,(必需)。第二个参数表示数组或者toJSON方法,(可选);

第三个参数表示层级缩进,(可选).

    例如:创建一个JavaScript数组,并用JSON.stringify()函数把它序列化为json

var object =[{name:'xiaoxiao',age:100},{name:'xiaoming',age:200}];        //创建一个JavaScript数组
var json=JSON.stringify(object);        //将JavaScript数组序列化为json字符串
alert(json);        //'[{"name":"xiaoxiao","age":100},{"name":"xiaoming","age":200}]'

 

    3、json对象解析为JavaScript对象

 

      JSON.parse()函数

    JSON.parse()函数有两个参数,第一个参数表示json对象,(必需)。第二个参数为还原函数(可选)。

    例如:创建一个json数组,并用JSON.parse()函数把它解析为JavaScript对象

var json ='[{"name":"xiaoxiao","age":100},{"name":"xiaoming","age":200}]';        //创建一个json数组
var object=JSON.parse(json);        //将json值全部解析为JavaScript对象
alert(object);        //[object Object],[object Object]

 

 

 

 

 

 

 

 

        

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值