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技术更为便捷的数据访问途径。

Json研究系列之——入门简介


2、  非冗长性

        在XML中,打开和关闭标记是必需的,这样才能满足标记的依从性;而在JSON中,所有这些要求只需通过一个简单的括号即可满足。在包含有数以百计字段的数据交换中,传统的XML标记将会延长数据交换时间。目前还没有正式的研究表明JSON比XML有更高的线上传输效率;人们只是通过简单的字节数比较发现,对于等效的JSON和XML有效负载,前者总是小于后者。至于它们之间的差距有多大,特别是在新的XML压缩格式下它们的差距有多大,有待进一步的研究。

点击阅读原文

编辑:十四期 王章美

以上是关于Json研究系列之——入门简介的主要内容,如果未能解决你的问题,请参考以下文章

Gradle入门系列:简介

证券研究中的量价时空:时光旅行流媒体与视频识别我眼中的计算机股(第二篇) (证券研究系列连载之四十五)

SMM框架之SpingMVC:Ajax研究讲解

Azure IoT 技术研究系列1-入门篇

机器学习入门系列02,Regression 回归:案例研究

机器学习入门系列02,Regression 回归:案例研究