json

1>内容:

JSON 是一种数据格式,是js的一个严格子集,利用js中的一些模式来表示结构化数据,但并不从属与js,它并不是只有js才能使用。很多编程语言都有针对JSON的解析器和序列化器。

2>Json可以表示的三种类型值:

1.简单值:数值,字符串,布尔值,null(不支持undefined)

例如:

5就是简单值

“hello”js字符串与json字符串最大的区别就是json字符串必须是双引号(单引号语法错误)

2.对象:复杂数据,表示一组无序的键值对,每个键值对的值可以是简单是也可以是复杂值

例如:

Js对象标准表示法:

var object={
name:"shisha",
age:"age"
};

Js对象也可以表示为:

var object={
"name":"shisha"
,"age":"22"
};

Json对象表示为:

{"name":"shisha","age":"22"}

Json对象与js对象有两个不同的地方:json对象没有声明变量,其次没有末尾分号

3.数组:复杂数据,一组有序值的列表

Json不支持变量,函数或对象实例

3>序列化与反序列化

序列化:将Json对象解析为有用的js对象

4>json方法:

1》eval():将json字符串反序列化为js对象,可能会执行一些恶意代码

2》parse():将json字符串反序列化为js对象

接受第二个参数(一个函数,接受两个参数一个键和一个值)

3》Json解析器(官方网址)

4》stringify():将js对象序列化为json字符串(最终结果都是有效json数据类型)

var object={

"name":"shisha",

"age":"22"

}

var jsontext=JSON.stringify(object)

console.log(jsontext);//{"name":"shisha","age":"22"}

stringify除了要序列化的js对象外,还可以接受两个参数:

第一个参数是过滤器(可以是一个数组也可以是一个函数

         数组时最终结果就只包含数组中列出的属性

         函数时传入两个参数属性名和属性值

第二个参数是一个选项,表示是否在JSON字符串中保留缩进

        数值表示每个级别的缩进的空格数(最大为10,大于10自动转换成10)

        字符串表示前面的空格变成这个字符串(同上最大为10)

var object={

"name":"shisha",

"age":"22",

"book":"hhhh",

"title":"123"

}

var jsontext=JSON.stringify(object,["title"]);

console.log(jsontext);//{"title":"123"}
var jsontext=JSON.stringify(object,function(key,value){

switch(key){

case "name":

   return value.split(",");

default:

   return value;

}

});

console.log(jsontext);//{"name":["shisha"],"age":"22","book":"hhhh","title":"123"}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值