没有合适的资源?快使用搜索试试~ 我知道了~
深入理解 JSON.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 100 浏览量
2022-06-11
22:52:56
上传
评论
收藏 1.6MB PDF 举报
温馨提示
试读
18页
。。。
资源推荐
资源详情
资源评论
我学院网,畅享学习时光,告别无趣,拒绝平庸 www.woxueyuan.com
深入理解 JSON
我们先来看一个 JS 中常见的 JS 对象序列化成 JSON 字符串的问题,请问,以
下 JS 对象通过
JSON.stringify
后的字符串是怎样的?先不要急着复制粘贴到控
制台,先自己打开一个代码编辑器或者纸,写写看,写完再去仔细对比你的控制
台输出,如果有误记得看完全文并评论,哈哈。
var friend={
firstName: 'Good',
'lastName': 'Man',
'address': undefined,
'phone': ["1234567",undefined],
'fullName': function(){
return this.firstName + ' ' + this.lastName;
}
};
JSON.stringify(friend);//这一行返回什么呢?
第二个问题,如果我想在最终 JSON 字符串将这个’friend’的姓名全部变成
大写字母,也就是把”Good”变成”GOOD”,把”Man”变成”MAN”,
那么可以怎么做?
基于以上两个问题,我们再追本溯源问一下,JSON 究竟是什么东西?为什么
JSON 就是易于数据交换?JSON 和 JS 对象的区别?JS 中
JSON.parse
、
JSON.stringify
和不常见的
toJSON
,这几个函数的参数和处理细节到底是怎样
的?
我学院网,畅享学习时光,告别无趣,拒绝平庸 www.woxueyuan.com
欢迎进入本次“深挖 JSON 之旅”,下文将从以下几个方面去理解 JSON:
首先是对“JSON 是一种轻量的数据交换格式”的理解;
然后来看经常被混为一谈的 JSON 和 JS 对象的区别;
最后我们再来看 JS 中这几个 JSON 相关函数具体的执行细节。
希望全文能让如之前的我一样对 JSON 一知半解的亲能说清楚 JSON 是什么,
也能熟练运用 JSON,不看控制台就知道 JS 对象序列化成 JSON 字符串后输
出是啥。
一、JSON 是一种格式,基于文本,优于轻量,用于
交换数据
如果没有去过 JSON 的官方介绍可以去一下这里,官方介绍第一、二段已经很
清楚地表述了 JSON 是什么,我将 JSON 是什么提炼成以下几个方面:
1. 一种数据格式
什么是格式?就是规范你的数据要怎么表示,举个栗子,有个人叫“二百六”,
身高“160cm”,体重“60kg”,现在你要将这个人的这些信息传给别人或者
别的什么东西,你有很多种选择:
姓名“二百六”,身高“160cm”,体重“60kg”
name="二百六"&height="160cm"&weight="60kg"
<person><name> 二 百 六
</name><height>160</height><weight>60</weight></person>
{"name":"二百六","height":160,"weight":60}
我学院网,畅享学习时光,告别无趣,拒绝平庸 www.woxueyuan.com
… …
以上所有选择,传递的数据是一样的,但是你可以看到形式是可以各式各样的,
这就是各种不同格式化后的数据,JSON 是其中一种表示方式。
2. 基于文本的数据格式
JSON 是基于文本的数据格式,相对于基于二进制的数据,所以 JSON 在传递
的时候是传递符合 JSON 这种格式(至于 JSON 的格式是什么我们第二部分再说)
的字符串,我们常会称为“JSON 字符串”。
3. 轻量级的数据格式
在 JSON 之前,有一个数据格式叫
xml
,现在还是广泛在用,但是 JSON 更加
轻量,如
xml
需要用到很多标签,像上面的例子中,你可以明显看到
xml
格式的
数据中标签本身占据了很多空间,而 JSON 比较轻量,即相同数据,以 JSON
的格式占据的带宽更小,这在有大量数据请求和传递的情况下是有明显优势的。
4. 被广泛地用于数据交换
轻量已经是一个用于数据交换的优势了,但更重要的 JSON 是易于阅读、编写
和机器解析的,即这个 JSON 对人和机器都是友好的,而且又轻,独立于语言
(因为是基于文本的),所以 JSON 被广泛用于数据交换。
以前端 JS 进行 ajax 的 POST 请求为例,后端 PHP 处理请求为例:
剩余17页未读,继续阅读
资源评论
苦茶子12138
- 粉丝: 1w+
- 资源: 6万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功