亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JSON基礎(chǔ)介紹與詳細用法

 更新時間:2022年03月07日 16:27:39   作者:.NET開發(fā)菜鳥  
本文詳細講解了JSON基礎(chǔ)與詳細用法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

一、什么是JSON

  • 1、JSON指的是JavaScript對象表示法(JavaScript Object Notation)。
  • 2、JSON是輕量級的文本數(shù)據(jù)交換格式,比XML更小、更快、更易解析。
  • 3、JSON獨立于語言。
  • 4、JSON具有自我描述性、更易理解。

注意:JSON使用JavaScript語法來描述數(shù)據(jù)對象,但是JSON仍然獨立于語言和平臺。JSON解析器和JSON庫支持許多不同的編程語言。目前非常多的動態(tài)編程語言(PHP、.NET)都支持JSON。

二、JSON和XML比較

1、與XML相同之處

  • 1)JSON是純文本。
  • 2)JSON具有“自我描述性”(人類可讀)。
  • 3)JSON具有層級結(jié)構(gòu)(值中存在值)。
  • 4)JSON可通過JavaScript進行解析。
  • 5)JSON數(shù)據(jù)可使用AJAX進行傳輸。

2、與XML不同之處

  • 1)沒有結(jié)束標簽。
  • 2)比XML更短。
  • 3)比XML讀寫的速度更快。
  • 4)能夠使用內(nèi)建的JavaScript eval()方法進行解析。
  • 5)可以使用數(shù)組。
  • 6)不使用保留字。

3、為什么使用JSON

對于AJAX應(yīng)用程序來說,JSON比XML更快更易使用:

使用XML:

  • 讀取XML文檔。
  • 使用XML DOM來循環(huán)遍歷文檔。
  • 讀取值并存儲在變量中。

使用JSON

  • 讀取JSON字符串。
  • 用eval()處理JSON字符串。

三、JSON語法

JSON語法是JavaScript語法的子集。

1、語法規(guī)則

JSON語法是JavaScript對象表示語法的子集。

  • 1)數(shù)據(jù)在名稱/值對中。
  • 2)數(shù)據(jù)由逗號分隔。
  • 3)大括號保存對象。
  • 4)中括號保存數(shù)組。

2、JSON名稱/值對

JSON數(shù)據(jù)的書寫格式是:名稱/值對。

名稱/值對包括字段名稱(在雙引號中),后面寫一個冒號,然后是值:

"name":"Tom"

3、JSON值

JSON值可以是:

  • 1)數(shù)字(整數(shù)或浮點數(shù))。
  • 2)字符串(在雙引號中)。
  • 3)邏輯值(true或false)。
  • 4)數(shù)組(在中括號中)。
  • 5)對象(在大括號中)。
  • 6)null。

4、JSON數(shù)字

JSON數(shù)字可以是整型或者浮點型:

{"age":30}

5、JSON對象

JSON對象在大括號({})中書寫:

對象可以包含多個名稱/值對:

{"name":"張三","age":24}

6、JSON數(shù)組

JSON數(shù)組在中括號中書寫:

數(shù)組可以包含多個對象:

{
? "student":[
? {"name":"張三","age":24},
? {"name":"李四","age":25}
? ]
}

在上面的例子中,對象"student"是包含三個對象的數(shù)組。每個對象代表一條關(guān)于某個學(xué)生(name,age)的記錄。

7、JSON布爾值

JSON布爾值可以是true或者false:

{"flag":true}

8、JSON null值

JSON可以設(shè)置null值:

{"student":null}

9、JSON使用JavaScript語法

因為JSON使用JavaScript語法,所以無需額外的軟件就能處理JavaScript中的JSON。

通過JavaScript,你可以創(chuàng)建一個對象數(shù)組,并像這樣進行賦值:

var student=[
? {"name":"張三","age":24},
? {"name":"李四","age":25}
? ];

可以像這樣訪問JavaScript對象數(shù)組中的第一項(索引從0開始)

student[0].name;

返回的內(nèi)容是:張三

可以像這樣修改數(shù)據(jù):

student[0].name="tom";

10、JSON文件

  • 1)JSON文件的文件類型是".json"。
  • 2)JSON文本的MIME類型是"application/json"。

四、JSON對象

1、對象語法

{"name":"張三","age":25}

JSON對象使用在大括號({})中書寫。

對象可以包含多個key/value(鍵/值)對。

key必須是字符串,value可以是合法的JSON數(shù)據(jù)類型(字符串、數(shù)字、對象、數(shù)組、布爾值或null)。

key和value中使用冒號(:)分割。

每個key/value對使用逗號(,)分割。

2、訪問對象

你可以使用點(.)來訪問對象的值。

var ?myObj,x;
myObj={"name":"張三","age":24};
x=myObj.name;

上面的例子輸出值:張三。

你也可以使用中括號([])來訪問對象的值。

var ?myObj,x;
myObj={"name":"張三","age":24};
x=myObj["name"];

上面的例子同樣輸出值:張三。

3、循環(huán)對象

你可以使用for-in來循環(huán)對象的屬性,使用中括號([])來訪問屬性的值:

var myObj={"name":"張三","age":24};
for(x in myObj){
? ? ?document.getElementById("demo").innerHTML += myObj[x]+"<br>";
}

4、嵌套JSON對象

JSON對象中可以包含另外一個JSON對象:

student={
? ? ? "name":"張三",
? ? ? "age":24,
? ? ? "score":{
? ? ? ? ?"C#高級編程":94,
? ? ? ? ?"SQL Server":83,
? ? ? ? ?"Python":75
? ? ? ?}
}

你可以使用點號(.)或者中括號([])來訪問嵌套的JSON對象。

例如:

var x=student.score.C#高級編程;
// 或者
var x=student.score["C#高級編程"];

5、修改JSON對象的值

你可以使用點號(.)來修改JSON對象的值:

student.score.C#高級編程=90;

你也可以使用中括號([])來修改JSON對象的值:

student.score["C#高級編程"]=90;

6、刪除JSON對象的屬性

我們可以使用delete關(guān)鍵字來刪除JSON對象的屬性:

delete student.score.C#高級編程;

也可以使用中括號([])來刪除JSON對象的屬性:

delete student.score["C#高級編程"];

五、JSON數(shù)組

1、數(shù)組作為JSON對象

["C#","Java","Python"]

JSON數(shù)組在中括號中書寫。

JSON中數(shù)組值必須是合法的JSON數(shù)據(jù)類型(數(shù)字、字符串、對象、數(shù)組、布爾值或null)。

JavaScript中,數(shù)組值可以是以上的JSON數(shù)據(jù)類型,也可以是JavaScript的表達式,包括函數(shù)、日期、及undefined。

2、JSON對象中的數(shù)組

對象屬性的值可以是一個數(shù)組:

var student={
? ?"name":"張三",
? ?"age":24,
? ?"subject":[".NET","java","python"]
}

可以使用索引值來訪問數(shù)組:

var x=student.subject[0];

3、循環(huán)數(shù)組

可以使用for-in來訪問數(shù)組:

for(i ?in student.subject) ?{
? ? ?x += student.subject[i]+"<br>";
}

也可以使用for循環(huán)

for(int i=0;i<student.subject.length;i++) {
? ?x+=student.subject[i]+"<br>";
}

4、嵌套JSON對象中的數(shù)組

JSON對象中數(shù)組可以包含另外一個數(shù)組,或者另外一個JSON對象:

student={
? ?"name":"張三",
? ?"age":24,
? ?"score":[
? ? ? ? ?{".NET":91},
? ? ? ? ?{"java":85},
? ? ? ? ?{"python":79}
? ? ]
}

可以使用for-in來循環(huán)訪問數(shù)組

for(i in student.score) {
? ?x +="<h1>" +student.score[i]+"</h1>";
}

5、修改數(shù)組值

可以使用索引值來修改數(shù)組值:

student.score[1]=93;

6、刪除數(shù)組元素

可以使用delete關(guān)鍵字來刪除數(shù)組元素:

delete  student.score[0];

到此這篇關(guān)于JSON基礎(chǔ)介紹與詳細用法的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論