学习JSON的基本概念入门

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,源于ECMAScript规范,易于人阅读和编写,也易于机器解析和生成。本文介绍了JSON的发音、历史、与JS对象的关系,以及JSON和XML的区别,提供了JSON表示对象和数组的示例,强调了其在网络传输中的高效性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

@记录JSON的入门到精通

概念

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。
简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

说到发音:JSON的发 音 /ˈdʒeɪsən/

中文名 JavaScript 对象简谱

外文名 :JavaScript Object Notation缩 写 JSON
中文名 :JavaScript 对象简谱发 音 /ˈdʒeɪsən/

简要历史

上面已经说到了,JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。

通俗来说:JSON是Douglas Crockford在2001年开始推广使用的数据格式,在2005年-2006年正式成为主流的数据格式,雅虎和谷歌就在那时候开始广泛地使用JSON格式。

说到JSON 与 JS 对象的关系:

一言概之,JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。

1.在 JS 语言中,一切都是对象。
因此,JS中任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且JSON中常用的两种类型。
因而说一下:JSON里面—>

对象表示为键值对
数据由逗号分隔
花括号保存对象
方括号保存数组

So,键值对是什么?
JSON 键值对是用来保存 JS 对象的一种方式,和 JS 对象的写法也大同小异。
JSON键/值对组合中的键名写在前面并用双引号 “” 包裹,使用冒号 : 分隔,然后紧接着值:
{“firstName”: “Json”},等价于这条 JavaScript 语句:{firstName : “Json”}

举个栗子

JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。

一个JS对象,注意键名也是可以使用引号包裹的var obj = {a: ‘Hello’, b: ‘World’}
一个 JSON 字符串var json = ‘{“a”: “Hello”, “b”: “World”}

而想要实现从JSON字符串转换为JS对象,使用 JSON.parse() 方法:

{var obj = JSON.parse('{"a": "Hello", "b": "World"}'); //结果是 {a: 'Hello', b: 'World'}

要实现从JS对象转换为JSON字符串,使用 JSON.stringify() 方法:

{var json = JSON.stringify({a: 'Hello', b: 'World'}); //结果是 '{"a": "Hello", "b": "World"}'}

表示对象和数组的JSON示例

{
"people":[
 {
"firstName": "Brett",            
"lastName":"McLaughlin"        
 },
 {         
"firstName":"Jason",
 
"lastName":"Hunter"
 } 
]
}

JSON和XML区别

可读性
JSON和XML的可读性可谓不相上下,一边是简易的语法,一边是规范的标签形式,很难分出胜负。
可扩展性
XML天生有很好的扩展性,JSON当然也有,没有什么是XML可以扩展而JSON却不能扩展的。不过JSON在Javascript主场作战,可以存储Javascript复合对象,有着xml不可比拟的优势。
编码难度
XML有丰富的编码工具,比如Dom4j、Dom、SAX等,JSON也有提供的工具。无工具的情况下,相信熟练的开发人员一样能很快的写出想要的xml文档和JSON字符串,不过,xml文档要多很多结构上的字符。
解码难度
此处略去。。。。

除了上述之外,JSON和XML还有另外一个很大的区别在于有效数据率。JSON作为数据包格式传输的时候具有更高的效率,这是因为JSON不像XML那样需要有严格的闭合标签,这就让有效数据量与总数据包比大大提升,从而减少同等数据流量的情况下,网络的传输压力 [2] 。

总而言之:JSON 简单的语法格式和清晰的层次结构明显要比 XML 容易阅读,并且在数据交换方面,由于 JSON 所使用的字符要比 XML 少得多,可以大大得节约传输数据所占用的带宽。

有待学习

JSON校验工具,JS知识,XML

后记

第一次发博客,想要记录下学习的进程,为开源的世界做出自己的一份贡献,ing…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值