欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

一、什么是JSON

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

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

二、JSON和XML比較

1、與XML相同之處

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

2、與XML不同之處

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

3、為什么使用JSON

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

使用XML:

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

使用JSON

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

三、JSON語法

JSON語法是JavaScript語法的子集。

1、語法規(guī)則

JSON語法是JavaScript對(duì)象表示語法的子集。

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

2、JSON名稱/值對(duì)

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

名稱/值對(duì)包括字段名稱(在雙引號(hào)中),后面寫一個(gè)冒號(hào),然后是值:

"name":"Tom"

3、JSON值

JSON值可以是:

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

4、JSON數(shù)字

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

{"age":30}

5、JSON對(duì)象

JSON對(duì)象在大括號(hào)({})中書寫:

對(duì)象可以包含多個(gè)名稱/值對(duì):

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

6、JSON數(shù)組

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

數(shù)組可以包含多個(gè)對(duì)象:

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

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

7、JSON布爾值

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

{"flag":true}

8、JSON null值

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

{"student":null}

9、JSON使用JavaScript語法

因?yàn)镴SON使用JavaScript語法,所以無需額外的軟件就能處理JavaScript中的JSON。

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

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

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

student[0].name;

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

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

student[0].name="tom";

10、JSON文件

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

四、JSON對(duì)象

1、對(duì)象語法

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

JSON對(duì)象使用在大括號(hào)({})中書寫。

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

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

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

每個(gè)key/value對(duì)使用逗號(hào)(,)分割。

2、訪問對(duì)象

你可以使用點(diǎn)(.)來訪問對(duì)象的值。

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

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

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

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

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

3、循環(huán)對(duì)象

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

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

4、嵌套JSON對(duì)象

JSON對(duì)象中可以包含另外一個(gè)JSON對(duì)象:

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

你可以使用點(diǎn)號(hào)(.)或者中括號(hào)([])來訪問嵌套的JSON對(duì)象。

例如:

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

5、修改JSON對(duì)象的值

你可以使用點(diǎn)號(hào)(.)來修改JSON對(duì)象的值:

student.score.C#高級(jí)編程=90;

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

student.score["C#高級(jí)編程"]=90;

6、刪除JSON對(duì)象的屬性

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

delete student.score.C#高級(jí)編程;

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

delete student.score["C#高級(jí)編程"];

五、JSON數(shù)組

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

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

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

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

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

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

對(duì)象屬性的值可以是一個(gè)數(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對(duì)象中的數(shù)組

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

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ǔ)介紹與詳細(xì)用法的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論