最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

XML的代替者----JSON

 更新時間:2007年07月21日 00:00:00   作者:  
我個人覺得PHP與Javascript各有長處,如果能完美的結(jié)合起來,那將創(chuàng)造出許許多多的奇跡! 我是初次寫此類文章,Bug難免,請各位指正~ 
    現(xiàn)在AJAX應(yīng)用非常流行,而在AJAX中客戶端Javascript和服務(wù)端動態(tài)腳本的通信是關(guān)鍵。如果傳輸?shù)男畔⒈容^簡單,通常我們會直接采用字符串的方式,如果信息結(jié)構(gòu)復(fù)雜一點,則通常用XML文檔。XML文檔雖然應(yīng)用廣泛,但是用php生成和用Javascript處理卻不是一件很容易的事情。這里我推薦一種XML文檔的比較好簡化替代方案:JSON! 
    首先我們來了解一下Javascript的基礎(chǔ)知識。 
    1.創(chuàng)建數(shù)組,可以用JS內(nèi)建的類Array來初始化,也可以用JSON符號"[]"。下面通過兩種方式創(chuàng)建的arr1和arr2的實質(zhì)是一樣的: 

var arr1 = new Array(); 
arr1[0] = "apple"; 
arr1[1] = "google"; 
arr1[2] = "longbill"; 

var arr2 = ["apple","google","longbill"];
注意,數(shù)組的索引也可以是字符串,如 arr1["name"] = "longbill"; 這時的數(shù)組就相當(dāng)于對象了。。。 
    2.創(chuàng)建對象,可以用JS內(nèi)建的類Object來初始化,也可以用JSON符號"{}"。下面通過兩種方式創(chuàng)建的obj1和ob2的實質(zhì)也是一樣的: 


var obj1 = new Object(); 
obj1.name = "longbill"; 
obj1.age = 18; 

var obj2 = { name:"longbill",age:18 };
注意,這里"{"和"}"之間必須寫成"鍵:值"的形式,而且不同的"鍵:值"之間要用","分割。 "鍵"中也可以包含空格等特殊字符,此時要用""(引號)來引用,如 "phone number":123456 
    其實在JS中,數(shù)組的本質(zhì)是一個對象,對象本身也是一個數(shù)組。所以, obj1.name 和 obj1["name"] 是同一個引用。 
    我們還可以通過JSON符號的嵌套來定義復(fù)雜的S對象: 


var people = [ 
    { 
        name:"longbill", 
        age:18 
    }, 
    { 
        name:"neal", 
        age:19 
    }, 
    { 
        name:"glocklee", 
        age:17 
    } 
];
//這個應(yīng)該看的懂吧~~ 
大部分XML文檔都可以用JSON來表達: 


<?xml version="1.0"?> 
<root> 
  <book> 
    <name>Ju love</name> 
    <price>$15</price> 
  </book> 
  <book> 
    <name>Javascrip</name> 
    <price>$25</price> 
  </book> 
</root>

如果用JSON就可以表達為: 


root: 

  { 
     name:"Ju love", 
     price:"$15" 
  }, 
  { 
     name:"Javascript", 
     price:"$25" 
  } 
]}

是不是簡化很多? 

    而且客戶端JS處理起來也很簡單,只要用執(zhí)行字符串函數(shù) "eval" 就可以將JSON信息提取出來,而如果是XML文檔,那就不的不用大量的標(biāo)準(zhǔn)DOM操作來提取其中的數(shù)據(jù)。如: 


//已經(jīng)用AJAX從服務(wù)端下載了一個JSON文件(字符串),保存在變量 json 里 
eval("var myvar = "+json); 
//這樣,JSON里的信息就表達在myvar這個變量里了。
缺點:一旦JSON的格式錯誤,將導(dǎo)致服務(wù)端JS系統(tǒng)錯誤,甚至崩潰。 
   解決辦法: 
   最好在eval之前使用try(試探執(zhí)行),如 


//已經(jīng)用AJAX從服務(wù)端下載了一個JSON文件(字符串),保存在變量 json 里 
try { 
    eval("var myvar = "+json); 
} catch(e) { alert('json syntax error!'); } 
//這樣,即使JSON格式錯誤,也只會彈出一個提示框,而不會拋出一個腳本錯誤!

相關(guān)文章

  • json2.js的初步學(xué)習(xí)與了解

    json2.js的初步學(xué)習(xí)與了解

    json2.js的初步學(xué)習(xí)與了解,想要學(xué)習(xí)json的朋友可以參考下。
    2011-10-10
  • XENON基于JSON變種

    XENON基于JSON變種

    JSON已經(jīng)成為了現(xiàn)在互聯(lián)網(wǎng)上輕量級數(shù)據(jù)傳輸?shù)氖聦崢?biāo)準(zhǔn),現(xiàn)在已經(jīng)很少聽說哪個流行的web API不支持JSON了,而很多內(nèi)部或者專用的應(yīng)用程序也都在使用JSON來傳遞數(shù)據(jù)。
    2010-07-07
  • JSON 數(shù)據(jù)格式詳解

    JSON 數(shù)據(jù)格式詳解

    JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。JSON采用完全獨立于語言的文本格式,這些特性使JSON成為理想的數(shù)據(jù)交換語言。易于人閱讀和編寫,同時也易于機器解析和生成
    2017-09-09
  • 理解JSON:3分鐘課程

    理解JSON:3分鐘課程

    如果你跟我一樣(我擔(dān)心你就是),那么,到目前為止,這應(yīng)該是你對JSON的經(jīng)驗
    2011-10-10
  • javascript JSON操作入門實例

    javascript JSON操作入門實例

    JSON (JavaScript Object Notation)一種簡單的數(shù)據(jù)格式,比xml更輕巧。 JSON 是 JavaScript 原生格式,這意味著在 JavaScript 中處理 JSON 數(shù)據(jù)不需要任何特殊的 API 或工具包。
    2010-04-04
  • 把普通對象轉(zhuǎn)換成json格式的對象的簡單實例

    把普通對象轉(zhuǎn)換成json格式的對象的簡單實例

    下面小編就為大家?guī)硪黄哑胀▽ο筠D(zhuǎn)換成json格式的對象的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • 正則表達式搭配js輕松處理json文本方便而老古

    正則表達式搭配js輕松處理json文本方便而老古

    如何解析Json已經(jīng)成為了眾多業(yè)內(nèi)人士談?wù)摰慕裹c,依我看,要解析輕量化類型json,用.net自帶的類庫就可以勝任了,有一種看起來更方便的老古董——正則表達式,處理json是綽綽有余,感興趣的你可不要錯過了哈
    2013-02-02
  • json文件書寫格式詳解

    json文件書寫格式詳解

    這篇文章主要介紹了json文件書寫格式規(guī)范。對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧<BR>
    2021-11-11
  • 簡明json介紹

    簡明json介紹

    不要認(rèn)為JSON是種新的應(yīng)用 ,其實JSON就是javascript支持的一種對象直接量。
    2008-09-09

最新評論

原平市| 宣威市| 武城县| 宁津县| 新宾| 阳新县| 美姑县| 葵青区| 万年县| 大城县| 根河市| 东至县| 宾阳县| 商水县| 沾化县| 阜南县| 丹巴县| 邵阳市| 宜昌市| 永定县| 桦川县| 惠东县| 林口县| 台南县| 南靖县| 乐昌市| 固镇县| 太谷县| 凤山市| 都安| 尼玛县| 云林县| 天门市| 葵青区| 顺义区| 纳雍县| 济宁市| 包头市| 衡南县| 通辽市| 和田市|