什么是JSON,前端后端必学的数据类型之一!

一、认识JSON

1、简述json

json的全称为:JavaScript Object Notation,是一种轻量级的数据交互格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。【来自于百度百科】

 JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,
 由于它的小巧所以网络传输数据将减少更多流量从而加快速度。
 所以,JSON主要是用来传输数据或者作为配置文件使用,
 因为他的性能超过了xml,所以说xml主键走出历史舞台。

2、用途是什么呢?

主要用于前端和后端的数据传输,因为前端语言和后端语言并不一样,json相当于媒人,可以被双方识别,以此做到数据互通。

3、那么JSON是什么呢?

JSON就是一串字符串 只不过元素会使用特定的符号标注。一种在各个编程语言中流通的数据格式,负责不同编程语言中的数据传递和交互。

{} 双括号表示对象

[] 中括号表示数组
“” 双引号内是属性或值
冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象)

所以 {“name”: “Michael”} 可以理解为是一个包含name为Michael的对象

而[{“name”: “Michael”},{“name”: “Jerry”}]就表示包含两个对象的数组

当然了,你也可以使用{“name”:[“Michael”,“Jerry”]}来简化上面一部,这是一个拥有一个name数组的对象

PS:现在还有很多人存在一些误区,为什么{name:'json'}在检验时通过不了,
 那是因为JSON官网最新规范规定,如果是字符串,那不管是键或值最好都用双引
 号引起来,所以上面的代码就是{"name":"json"}

不要反驳,官网就是这么定义的。

二、序列化和反序列化

1、作为数据传输使用 涉及到序列化和反序列化

序列化 : 将JS中的对象转化为JSON 

使用JSON对象中的stringify方法 内置一个参数 参数是对象

 反序列化  :  将JSON转化为JS的对象

使用JSON.parse方法 内置一个对象 对象是JSON
代码示例如下:

<script>
var obj = {
    name : 'sherlock',
    age : 23,
    sex : 'man'
};

console.log(obj);
console.log(typeof obj);

// 将对象转化为JSON
var json = JSON.stringify(obj);
console.log(json);  // {"name":"sherlock","age":23,"sex":"man"}
console.log(typeof json);  //string


// 将JSON转化为对象
var newObj = JSON.parse(json);
console.log(newObj);
console.log(typeof newObj);
</script>

2、手动编辑一个JSON 将其转化为对象

// 定义一个json
var json = '{"name":"marie","age":19,"sex":"女"}';
console.log(json);
console.log(typeof json);

// 转化为对象
var obj = JSON.parse(json);
console.log(obj);
console.log(typeof obj);

var json = '[{"name":"Sherlock","age":23,"sex":"男"},{"name":"Mary","age":19,"sex":"女"}]';
var obj = JSON.parse(json);
console.log(obj);
console.log(typeof obj);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值