Json研究系列之——入门简介
Posted 天赋吉运科技
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Json研究系列之——入门简介相关的知识,希望对你有一定的参考价值。
引言
由于没有系统的学习,所以只是在项目中总是用到json,没有真正的总结过json。不能这样,还是抽个时间来说说吧……
Json简介
JSON(javascript Object Notation) 是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。
我们都知道XML也是一种数据交换格式,为什么没有选择XML呢?因为XML虽然可以作为跨平台的数据交换格式,但是在JS(JavaScript的简写)中处理XML非常不方便,同时XML标记比数据多,增加了交换产生的流量,而JSON没有附加的任何标记,在JS中可作为对象处理,所以我们更倾向于选择JSON来交换数据。
Json语法规则
1、数据在键值对中
2、数据由逗号分隔
3、花括号保存对象
4、方括号保存数组
Json的两种结构
对象
对象结构以”{”大括号开始,以”}”大括号结束。中间部分由0或多个以”,”分隔的”key(关键字)/value(值)”对构成,关键字和值之间以”:”分隔。例如:
[javascript] view plain copy print?
<span style="font-size:18px;">{
key1:value1,
key2:value2,
...
}</span>
其中关键字是字符串,而值可以是字符串,数值,true,false,null,对象或数组
数组
数组结构以”[”开始,”]”结束。中间由0或多个以”,”分隔的值列表组成。例如:
[javascript] view plain copy print?
<span style="font-size:18px;">[
{
key1:value1,
key2:value2
},
{
key3:value3,
key4:value4
}
]</span>
字符串、json字符串和json对象
字符串:指使用“”双引号或’’单引号包括的字符。例如:var comStr = 'this is string';
Json字符串:指的是符合json格式要求的js字符串。例如:varjsonStr = "{StudentID:'100',Name:'tmac',Hometown:'usa'}";
Json对象:指符合json格式要求的js对象。例如:varjsonObj = { StudentID: "100", Name: "tmac", Hometown:"usa" }
Json.parse——将json格式的字符串转换成json对象
[javascript] view plain copy print?
<span style="font-size:18px;">var str ='{"name":"小强","age":16,"msg":["a","b"],"regex":"^http://.*"}';
var json = JSON.parse(str);
console.log("name:" + json.name);
console.log("msgLen:" +json.msg.length);
// 结果
// name:小强
// msgLen:2</span>
Json.stringify——将json对象转换成json格式的字符串
[javascript] view plain copy print?
<span style="font-size:18px;">var json = {"name":"小强","age":16,"msg":["a","b"],"regex":"^http://.*"};
var str = JSON.stringify(json);
console.log("json:" + str);
console.log("jsonLen:" +str.length);
// 结果
// json:{"name":"小强","age":16,"msg":["a","b"],"regex":"^http://.*"}
// jsonLen:60</span>
Json优点
1、 简化了数据访问
在json中使用的这些数据分隔符, JavaScript引擎对数据结构(如字符串、数组、对象)的内部表示恰好与这些符号相同。这将开创一条比DOM技术更为便捷的数据访问途径。
2、 非冗长性
在XML中,打开和关闭标记是必需的,这样才能满足标记的依从性;而在JSON中,所有这些要求只需通过一个简单的括号即可满足。在包含有数以百计字段的数据交换中,传统的XML标记将会延长数据交换时间。目前还没有正式的研究表明JSON比XML有更高的线上传输效率;人们只是通过简单的字节数比较发现,对于等效的JSON和XML有效负载,前者总是小于后者。至于它们之间的差距有多大,特别是在新的XML压缩格式下它们的差距有多大,有待进一步的研究。
点击阅读原文
编辑:十四期 王章美
以上是关于Json研究系列之——入门简介的主要内容,如果未能解决你的问题,请参考以下文章