码迷,mamicode.com
首页 > Web开发 > 详细

JSON 教程

时间:2020-01-23 00:14:25      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:节点   --   等价   欧洲   john   highlight   浮点数   提升   tar   

What?                                                                                                                                          


json全称:JavaScript 对象表示法(JavaScript Object Notation)。

json定义:jason是一种轻量级的数据交换格式,它基于 ECMAScript (JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。

 

Why?                                                                                                                                           


由于json的简洁和清晰的结构模式使得json成为理想的数据交换语言,更易于人们的编写和阅读,同时也方便机器的编译和生成,并且能有效的提升网络传输效率。

对于AJAX程序来说json比XML更快更易于理解。

 

How?                                                                                                                                           


 JSON语法规则:                                                                                                                                                                                                                                      

  1. 花括号保存对象
  2. 方括号保存数组
  3.  键名要有双引号(字面量方式表示对象,键名不需要双引号)
  4. 字符串值要有引号
  5. 键值之间是冒号
  6. 键值对之间是逗号

 JSON数据的书写格式:键/值   key:value                                                                                                                                                                                            

键/值 包括字段名称(要加双引号),后面是一个冒号,然后是值。

 

"Name":"Ben"

 

等价于下面这条javascript语句

Name = "Ben"

 JSON的值:                                                                                                                                                                                                                                                                

 

  1.  数字(整数/浮点数)
  2. 字符串(在双引号中)
  3. 逻辑值(true/false)
  4. 数组(在方括号中[])
  5. 对象(在花括号中{})
  6. null(代表"空"值,表示当前对象引用"未引用的对象")

 JSON对象:                                                                                                                                                                                                                                                                

JSON对象可以包括多个键值对。

JSON对象是由花括号括起来的,用逗号分割的键(key)/值(value)对构成。

如:

{
        "name":"王凯",//属性---->键值对
        "age":18"hobby":"学习"
}

等价于下面这条javascript语句。

如:

        name = "王凯"
        age = 18
        hobby = "学习"

JSON数组:                                                                                                                                                                                                                                                                 

JSON数组是写在方括号[]当中的。

JSON数组可以包含多个对象。

如:

{
"obj":[
{"name":"王凯","age":18},
{"name":"席家豪","age":6},        
{"name":"大黄","age":2}   
]
}

在上面这个例子当中,对象"obj"是包含三个对象的数组,每个对象都是一条记录。

JSON与JavaScript对象的关系:                                                                                                                                                                                                                                               

JSON是JavaScript对象的字符串表示法,它使用json文本表示一个JavaScript 对象的信息,其实本质上也是一个字符串。

如:
let obj = {name1:‘Ben‘,name2:‘John‘}://这是一个对象,它的键名也可以用双引号包裹
let json = ‘{"name1":"Ben","name2":"John"}‘://这是一个JSON字符串,本质上也是一个字符串,用这种方法表示时,记得里面双引号外面就要单引号,里面单引号,外面就要双引号。

JSON与JavaScript对象的相互转换:                                                                                                                                                                                                          

  • 使用 JSON.parse(),把JSON字符串转换为JavaScript对象。
方法:
let obj = JSON.parse(‘{"name1":"Ben","name2":"John"}‘);//结果是{name1:‘Ben‘,name2:‘John‘}
  • 使用 JSON.stringify(),把JavaScript对象转换为JSON字符串。
方法:
let json = JSON.stringify({name1:‘Ben‘,name2:‘John‘})://结果是‘{"name1":"Ben","name2":"John"}‘

常用类型:                                                                                                                                                                                                                                                  

  • 任何支持的类型都可以用JSON来表示,数字,字符串,数组,对象等。但是字符串和对象是比较特殊和常用的两种类型。
  • 对象类型:对象在JavaScript中是使用花括号{}包起来的,数据结构为 {key1:value1, key2:value2, ...} 的键值对结构。在面向对象的编程语言中,key为对象的属性,value为对应的值,键名key可以使用整数和字符串来表示,而值value的类型可以是任何类型。
  • 数组类型:数组在JavaScript中是使用方括号[]包起来的,数据结构为["JAVA","C","DIDI",....]的索引结构,在JavaScript中,数组是一种比较特殊的数据类型,他可以像对象那样使用键值对,但是还是上面这种索引的结构使用的比较多,同样的,值value的类型可以是任何类型。

 一点儿总结:                                                                                                                                                                                          
          当我们需要在网络和程序之间相互传递数据时,使用JSON可以很方便的将JavaScript对象中的数组转换成字符串,以便我们的传输,并且在需要的时候还可以将它还原为各个编程语言所支持的数据格式,比如在PHP中,我们可以将JSON转换为数组或者一个对象,而在AJAX(异步交互)中时,如果需要用数组传值,我们也可以用JSON将数组转换成字符串。
           我们要记得使用json如何表示对象和如何表示数组,以及如何进行相互转换,这在编程当中是最常用的方法哦!
           当数据量比较大,想要更改其中的某个节点的数据时,以及想要找到某个对象下有多少个数组,某个数组下有多少个对象时,不必一个一个的去往下找,可以使用国人的一款在线工具 BeJson 、SoJson可以很方便的进行你的操作。
           记得好好敲代码。
          
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

JSON 教程

标签:节点   --   等价   欧洲   john   highlight   浮点数   提升   tar   

原文地址:https://www.cnblogs.com/goodgoodstudyV/p/12228620.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!