JSON的使用、规则、地理位置、序列化/反序列化
发布日期:2021-05-07 19:33:09 浏览次数:35 分类:精选文章

本文共 1700 字,大约阅读时间需要 5 分钟。

 

一、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. 对象

  1. 数组

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

 

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

 

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

三、JSON和XML

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

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

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

-可以使用数组。

JSON:

       {

              “name”:”muzidigbig”,

              “age”:”22”,

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

       }

XML:

       <root>

              <name>muzidigbig</name>

              <age>22</age>

              <friends > Adam </friends >

               <friends > Lucy </friends >

               <friends > Gwen </friends >

       </root>

四、JSON的解析和生成

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

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

五、JSON和XML转换

 

六、AJAX和JSON

七、GeoJSON和TopoJSON

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

分析Geojson地理信息:

 

 

案例:

案例:

 

 

上一篇:css定义变量(定义:--aa;使用:var(--aa)、calc()计算样式函数
下一篇:js高级---Object.create()方法实现对象继承与创建新的JavaScript对象

发表评论

最新留言

很好
[***.229.124.182]2025年04月11日 12时43分32秒