json数组

JSON是JaScript Object Notation的缩写,是一种数据交换格式。

在JSON出现之前,总是用XML来传输数据。因为XML是一种纯文本格式,所以它适合在网络上交换数据。XML本身并不复杂,但是在加入了很多复杂的规范如DTD、XSD、XPath、XSLT之后,开发者就远离XML了。即使你努力学习了几个月,也不一定能理解那些复杂的XML规范。

最后,在2002年,道格拉斯·克洛克福特发明了JSON,一种超轻量级的数据交换格式。道格拉斯长期担任雅虎的高级架构师,热爱JaScript。他设计的JSON实际上是JaScript的子集。

JSON语法介绍

1.JSON数据类型

number: 和JaScript的number完全一致boolean:就是JaScript的true或falsestring: 就是JaScript的stringnull: 就是JaScript的nullarray: 就是JaScript的Array表示方式[]object: 就是JaScript对象的{}的表示方式

2.JSON数据结构

JSON是一种轻量级的数据交换格式。JSON采用了完全独立于语言的文本格式,但也使用了类似C语言家族(包括C、C++、C#、Ja、JaScript、Perl、Python等)的习惯。).这些特性使JSON成为一种理想的数据交换语言。便于人读写,也便于机器分析生成(网络传输速率)。从结构上讲,所有数据最终都可以分为三种类型:

第一种类型是标量(scalar): 也就是一个单独的字符串(string)或数字(numbers),比如"北京"这个单独的词第二种类型是序列(sequence):也就是若干个相关的数据按照一定顺序并列在一起,又叫做数组(array)或列表(List),比如"北京,上海"第三种类型是映射(mapping): 也就是一个名/值对(Name/value),即数据有一个名称,还有一个与之相对应的值,这又称作散列(hash)或字典(dictionary),比如"首都:北京"

Json的规则非常简单,只用几十个字就能说清楚,而且道格拉斯·克洛克福特声称这个规范永远不需要升级,因为规定了。

3.JSON语法规则

使用逗号(& # 34;, ")分离;

用冒号(& # 34;: ")说;

并行数据的集合(数组)用方括号(& # 34;[]")说;

映射的集合(对象)用大括号(& # 34;{}")说。

数据的最小单位就是这么简单!所有数据(包括统计数据)都可以用四个符号明确标注(根据计算机软件编程规则,数据中的字符要用单引号或双引号括起来,这是一般规则)。在编程语言中,只要有数组和对象,所有的数据都可以被存储和处理。

JSON已经成为最流行的通用数据处理和交换格式,它是JaScript的子集,与JaScript有着天然的血缘关系。JaScript可以轻松处理JSON数据。JSON data强大而简洁的数据表达功能,简直就是为处理统计数据“量身定做”的。在下面的网络统计算法中,JaScript和JSON技术发挥了重要作用!

二、JSON文档案例

1.文本描述性统计数据被转换成json数据。

比如下面这句话:

"北京面积16800平方公里,常住人口1600万。上海面积6400平方公里,常住人口1800万。"

用json格式写的是这样的:

[ {"城市& # 34;:"北京& # 34;,"区域& # 34;:16800,"人口& # 34;:1600}, {"城市& # 34;:"上海& # 34;,"区域& # 34;:6400,"人口& # 34;:1800}]如果事先知道数据的结构,上面的写法可以进一步简化:

[ ["北京& # 34;,16800,1600], ["上海& # 34;,6400,1800]]2、统计数据表到json数据

有如下三个表格:

表1:第一类

(全名)

民族

籍贯

张三

韩(哈)

长春

李四

回族

大连

王武

韩(哈)

哈尔滨

表2:第二类

(全名)

民族

籍贯

李伟民

韩(哈)

沈阳

张群

韩(哈)

济南

王晓芳

回族

西宁

穆玉兰

韩(哈)

兰州

表3:第3类

(全名)

民族

籍贯

吴·

韩(哈)

北京

杨帆

韩(哈)

广州

表中的数据可以表示为JSON:

{ "classA & # 34:[ {"姓名& # 34;:"张三& # 34;,"国籍& # 34;:"汉族& # 34;,"nativeplace & # 34:"长春& # 34;}, {"姓名& # 34;:"李四& # 34;,"国籍& # 34;:"回族& # 34;,"nativeplace & # 34:"大连& # 34;}, {"姓名& # 34;:"王武& # 34;,"国籍& # 34;:"汉族& # 34;,"nativeplace & # 34:"哈尔滨& # 34;} ],"clas & # 34:[ {"姓名& # 34;:"李伟民& # 34;,"国籍& # 34;:"汉族& # 34;,"nativeplace & # 34:"沈阳& # 34;}, {"姓名& # 34;:"张群& # 34;,"国籍& # 34;:"汉族& # 34;,"nativeplace & # 34:"济南& # 34;}, {"姓名& # 34;:"王晓芳& # 34;,"国籍& # 34;:"回族& # 34;,"nativeplace & # 34:"西宁& # 34;}, {"姓名& # 34;:"穆玉兰& # 34;,"国籍& # 34;:"汉族& # 34;,"nativeplace & # 34:"西宁& # 34;} ],"classC & # 34:[ {"姓名& # 34;:"吴& # 34;,"国籍& # 34;:"汉族& # 34;,"nativeplace & # 34:"北京& # 34;}, {"姓名& # 34;:"约翰·扬& # 34;,"国籍& # 34;:"汉族& # 34;,"nativeplace & # 34:"广州& # 34;}]}前三个表中的数据也可以表示为:

[ {"姓名& # 34;:"张三& # 34;,"国籍& # 34;:"汉族& # 34;,"nativeplace & # 34:"长春& # 34;,"班& # 34;:"一班& # 34;}, {"姓名& # 34;:"李四& # 34;,"国籍& # 34;:"回族& # 34;,"nativeplace & # 34:"大连& # 34;,"班& # 34;:"一班& # 34;}, {"姓名& # 34;:"王武& # 34;,"国籍& # 34;:"汉族& # 34;,"nativeplace & # 34:"哈尔滨& # 34;,"班& # 34;:"一班& # 34;}, {"姓名& # 34;:"李伟民& # 34;,"国籍& # 34;:"汉族& # 34;,"nativeplace & # 34:"沈阳& # 34;,"班& # 34;:"二班& # 34;}, {"姓名& # 34;:"张群& # 34;,"国籍& # 34;:"汉族& # 34;,"nativeplace & # 34:"济南& # 34;,"班& # 34;:"二班& # 34;}, {"姓名& # 34;:"王晓芳& # 34;,"国籍& # 34;:"回族& # 34;,"nativeplace & # 34:"西宁& # 34;,"班& # 34;:"二班& # 34;}, {"姓名& # 34;:"穆玉兰& # 34;,"国籍& # 34;:"汉族& # 34;,"nativeplace & # 34:"西宁& # 34;,"班& # 34;:"二班& # 34;}, {"姓名& # 34;:"吴& # 34;,"国籍& # 34;:"汉族& # 34;,"nativeplace & # 34:"北京& # 34;,"班& # 34;:"三班& # 34;}, {"姓名& # 34;:"约翰·扬& # 34;,"国籍& # 34;:"汉族& # 34;,"nativeplace & # 34:"广州& # 34;,"班& # 34;:"三班& # 34;}]可以进一步简化为:

[ ["张三& # 34;,"汉族& # 34;,"长春& # 34;,"一班& # 34;], ["李四& # 34;,"回族& # 34;,"大连& # 34;,"一班& # 34;], ["王武& # 34;,"汉族& # 34;,"哈尔滨& # 34;,"一班& # 34;], ["李伟民& # 34;,"汉族& # 34;,"沈阳& # 34;,"二班& # 34;], ["张群& # 34;,"汉族& # 34;,"济南& # 34;,"二班& # 34;], ["王晓芳& # 34;,"回族& # 34;,"西宁& # 34;,"二班& # 34;], ["穆玉兰& # 34;,"汉族& # 34;,"西宁& # 34;,"二班& # 34;], ["吴& # 34;,"汉族& # 34;,"北京& # 34;,"三班& # 34;], ["约翰·扬& # 34;,"汉族& # 34;,"广州& # 34;,"三班& # 34;]]一般来说,JSON二维数组是约定数据格式前提下最简单的数据格式,尤其是在纯数值统计计算的过程中,二维数组处理多元统计数据非常方便。

第三,JaScript处理JSON数据

JaScript操作JSON数据的案例如下:

[# Code 403]:# Code 403]:操纵JSON数据的JaScript

& lthtml & gt& lthead & gt& ltmeta http-equiv = & # 34;内容类型& # 34;内容= & # 34;文本/html;charset = gb2312 & # 34& gt& lttitle & gtJaScript脚本代码练习

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

发表回复

登录后才能评论