JSON的使用、规则、地理位置、序列化/反序列化

 

一、json是什么?

JSON,全称是Javascript Object Notation,即Javascript对象标记法

JSON是一种轻量级(Light-Weight)、基于文本的(Text-Based)、可读的(Human-Readable)格式。

JSON的名称中虽然带有Javascript,但这是指其语法规则是参考Javascript对象的,而不是只能用于Javascript语言。

JSON无论对于人,还是对于机器来说,都是十分便于阅读和书写的,而且相比XML(另一种常见的数据交换格式),文件更小,因此迅速成为网络上十分流行的交换格式。

近年来,Javascript已经成为浏览器上事实上的标准语言,Javascript的风靡,与JSON的流行也有密切的关系。

因为JSON本身就是参考Javascript对象的规则定义的,其语法与Javascript定义对象的语法几乎完全相同。

JSON格式的创始人声称此格式永远不升级,这就表示这种格式具有长时间的稳定性,10年前写的文件,10年后也能用,没有任何兼容性问题。

 

二、JSON的语法规则是怎样的?

JSON的语法规则十分简单,无论用何种方法总结都只有数条而已,可称得上“优秀完美”,总结起来有:

-数组(Array)用方括号(“[ ]”)表示。

-对象(Object)用大括号(“{ }”)表示。

-名称/值对(name/value)组合成数组和对象。

-名称(name)置于双引号中,值(value)有字符串、数组、布尔值、null、对象和数组。不存在undefined、function等。

-并列的数据之间用(“,”)分隔。

JSON名称用双引号“”,不能使用单引号‘’。

{

       “name”:”muzidigbig”,

       “age”:23

}

JSON结构有两种结构:

json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构

  • 1、对象:对象在js中表示为“{}”括起来的内容,数据结构为 {key:value,key:value,...}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。
  • 2、数组:数组在js中是中括号“[]”括起来的内容,数据结构为 ["java","javascript","vb",...],取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。
  1. 对象

JSON的使用、规则、地理位置、序列化/反序列化_第1张图片

JSON的使用、规则、地理位置、序列化/反序列化_第2张图片

  1. 数组

JSON的使用、规则、地理位置、序列化/反序列化_第3张图片

  1. 名称/值对(Name/Value)

 

JSON的使用、规则、地理位置、序列化/反序列化_第4张图片

Value---字符串:只能用双引号,使用单引号会报错

 

JSON的使用、规则、地理位置、序列化/反序列化_第5张图片

Value---数值:不能使用8/16进制

三、JSON和XML

JSON常被拿来与XML做比较,因为JSON的诞生本来就多多少少要来取代XML的意思。相比XML,JSON的优势如下:

-没有结束标签,长度更短,读写更快。

-能够直接被Javascript解析器解析。

-可以使用数组。

JSON:

       {

              “name”:”muzidigbig”,

              “age”:”22”,

              “friends”:[“Adam”,”Lucy”,”Gwen”]

       }

XML:

      

              muzidigbig

              22

              Adam

               Lucy

               Gwen

      

四、JSON的解析和生成

在Javascript中,有两个方法与此相关:JSON.parse()和JSON.stringify().

JSON的使用、规则、地理位置、序列化/反序列化_第6张图片

JSON的使用、规则、地理位置、序列化/反序列化_第7张图片

第三个参数将序列化变为易于阅读的形式

JSON的使用、规则、地理位置、序列化/反序列化_第8张图片

五、JSON和XML转换

参考:https://www.json.cn/component.html

JSON的使用、规则、地理位置、序列化/反序列化_第9张图片

 

JSON的使用、规则、地理位置、序列化/反序列化_第10张图片

六、AJAX和JSON

JSON的使用、规则、地理位置、序列化/反序列化_第11张图片

JSON的使用、规则、地理位置、序列化/反序列化_第12张图片

JSON的使用、规则、地理位置、序列化/反序列化_第13张图片

七、GeoJSON和TopoJSON

两种JSON格式的扩展格式,TopoJSON是GeoJSON的优化版。

分析Geojson地理信息:http://geojson.io

 

 

案例:

JSON的使用、规则、地理位置、序列化/反序列化_第14张图片

JSON的使用、规则、地理位置、序列化/反序列化_第15张图片

案例:

JSON的使用、规则、地理位置、序列化/反序列化_第16张图片

JSON的使用、规则、地理位置、序列化/反序列化_第17张图片

JSON的使用、规则、地理位置、序列化/反序列化_第18张图片

JSON的使用、规则、地理位置、序列化/反序列化_第19张图片

JSON的使用、规则、地理位置、序列化/反序列化_第20张图片

JSON的使用、规则、地理位置、序列化/反序列化_第21张图片

JSON的使用、规则、地理位置、序列化/反序列化_第22张图片

 

 

你可能感兴趣的:(JavaScript--基础,json,geoJSON,TopoJSON,序列化/反序列化,geo)