亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

javascript學習之json入門

2019-11-19 18:18:44
字體:
來源:轉載
供稿:網友

1. 什么是JSON

JSON---Javascript Object Notation,前兩個單詞大家應該都認識,最后一個notation,是“記號、標記法”的意思,連在一起,便成了JSON。

它是一種輕量級的數據交換格式,是基于Javascript的一個子集,可以叫做Javascript對象表示法,是存儲和交換文本信息的語法,但它并不是Javascript獨有的數據格式,其它很多語言都可以對JSON進行解析和序列化。

2. JSON的由來

在21世紀初,Douglas Crockford(Web開發領域最知名的技術權威之一,ECMA JavaScript2.0標準化委員會委員,被JavaScript之父Brendan Eich稱為JavaScript的大宗師(Yoda),曾任Yahoo!資深JavaScript架構師,現任PayPal高級JavaScript架構師)試圖尋找一種更加簡便的數據交換格式,能夠在服務器之間交換數據,當時通用的數據交換語言是XML,但是Douglas Crockford認為XML的生成與解析都過于麻煩,所以他提出了一種更加簡化的格式,就是我們現在使用的JSON。

JSON的規格十分簡單,只用一個頁面幾百個字就能說清楚,而且Douglas Crackford稱這個規格永遠不用升級,因為該規定的都已經規定好了。

3. 為什么要用JSON

JSON類似于XML,比XML更小、更快、更容易解析。但同時XML也有它的不可替代性,應根據使用場景進行更合適的選擇;

JSON語法簡單,很容易理解,并且對象信息自描述,數據傳輸量小不占用帶寬;

JSON雖然遠不及emoji這一世界通用語言,但其實它的支持度也已經非??捎^,支持的語言包括C,C#,Java,JavaScript,PHP,Python,Ruby等等;

對于Ajax應用程序來說,JSON比XML更快捷,更易用;

JSON的可讀性、可擴展性都非常好,編碼難度也比較低,即使不借助工具也能寫出比較規范的JSON

......

4. JSON怎么用

⑴ JSON的基本語法

① 并列的數據之間用逗號( , )分隔

② 映射用冒號( : )表示

③ 映射的集合用大括號( {} )表示

④ 并列數據的集合用方括號( [] )表示

例如:

上賽季的MVP是斯蒂芬庫里,場上位置是控球后衛,球衣號碼是30號,球隊是金州勇士隊

上賽季的FMVP是勒布朗詹姆斯,場上位置是小前鋒,球衣號碼是23號,球隊是克里夫蘭騎士隊

用JSON格式就可以表示為:

[{ "MVP":"Stephen Curry", "position":"Point Guard", "number":"30", "team":"Golden State Warriors" },{ "FMVP":"Lebron James", "position":"Small Forward", "number":"23", "team":"Cleveland Cavaliers" }]

更復雜的數據也可以使用JSON來進行表示,比如下面這段信息:最喜歡的編輯器是sublime,最喜歡的運動是籃球,最喜歡的球隊是馬刺隊,馬刺隊控衛有托尼帕克、帕蒂米爾斯,分衛有馬努吉諾比利、丹尼格林,小前鋒有科懷倫納德、凱爾安德森,大前鋒有拉馬庫斯阿爾德里奇、大衛李,中鋒有德維恩戴德蒙、保羅加索爾?! ?/p>

{ "favoriteEditor": "sublime", "favoriteSport": "basketball", "favoriteTeam":{ "Spurs":[ {  "PG":"Tony Parker",  "SG":"Danny Green",  "SF":"Kawhi Leonard",  "PF":"LaMarcus Aldridge",  "C":"Pau Gasol"  }, {  "PG":"Patty Mills",  "SG":"Manu Ginobili",  "SF":"Kyle Anderson",  "PF":"David Lee",  "C":"Dewayne Dedmon"  } ] } }

⑵ JSON的解析與序列化

① 通過eval()函數將JSON字符串解析為JavaScript原生值

var str = '[{"name":"james","height":"203","number":"23"}, {"name":"kobe","height":"198","number":"24"}]'; //定義JSON字符串 var oJson = eval(str); //通過eval()函數解析拿到JavaScript原生值 //接下來便可通過JS進行操作 alert(oJson[0].name); //james alert(oJson[1].height); //198

② 通過全局對象JSON的兩個方法parse()和stringify()進行操作

parse()可以將JSON字符串轉化為JavaScript原生值:

var str = '[{"name":"james","height":"203","number":"23"},{"name":"kobe","height":"198","number":"24"}]';  //定義JSON字符串 var oJson = JSON.parse(str); //通過JSON對象的parse方法得到該JSON字符串的JavaScript原生值 document.write("姓名:" + oJson[1].name + "<br/>" + "身高:" + oJson[1].height + "cm" + "<br/>" + "球衣號碼:" + oJson[1].number);

parse()也可以傳第二個參數,此時可以在還原出JavaScript值的時候將原值替換成自己想要的值,如下:

var str = '[{"name":"james","height":"203","number":"23"},{"name":"kobe","height":"198","number":"24"}]'; var oJson = JSON.parse(str, function(key, value){ if('name' == key){ return '球員' + value; }else if('number' == key){ return value + '號球衣'; }else{ return value; } }); alert(oJson[0].name + '更牛逼還是' + oJson[1].name + '更牛逼' + '/n' + '你喜歡' + oJson[0].number + '還是' + oJson[1].number);

 

stringify()可以將原生JavaScript值轉換為JSON字符串:

 var oJson = [{ name : "james", height : 203, number : 23 },{ name : "kobe", height : 198, number : 24 }]; var jsonStr = JSON.stringify(oJson,['name','number'],4); alert(jsonStr);

JSON.stringify(oJson,['name','number'],4);中的第一個參數表示需要轉化的JS對象;第二個參數用于過濾結果,表示只留下name和number,其他的key以及所對應的的value都不要了;第三個參數表示在JSON字符串中保留的縮進數,有縮進時可讀性更高,該參數也可以是一個字符串,比如'----',此時彈出結果如下:

如果不需要保留縮進,那么最后一個參數空起來即可,但如果不需要進行過濾,第二個參數需設置為null占位,不能空起來,否則最后一個參數也會失效。

第二個參數也可以是函數,函數可以進行更加復雜的過濾:

var oJson = [{ name : "james", height : 203, position : '小前鋒' },{ name : "kobe", height : 198, position : '得分后衛' }]; var jsonStr = JSON.stringify(oJson,function(key,value){ switch(key){ case 'name': return '球員 ' + value; case 'height': return '身高 ' + value + 'cm'; case 'position':  return '位置 ' + value; default: return value; } },4); alert(jsonStr);

支持JSON對象的瀏覽器有IE8+、Chrome、FireFox3.5+、Opera10.5+、Safari4+,不支持的瀏覽器可以通過json.js這一開源庫來進行模擬。

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持武林網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
57pao国产精品一区| 国产精品香蕉av| 亚洲最大成人网色| 欧美性猛交xxx| www.亚洲一二| 国产精品自产拍在线观| 国产一区二区三区中文| 久久久国产视频91| 国产91精品久| 国产精品久在线观看| 亚洲欧洲黄色网| 日韩在线观看精品| 精品女厕一区二区三区| 欧美寡妇偷汉性猛交| 96pao国产成视频永久免费| 亚洲成av人片在线观看香蕉| 6080yy精品一区二区三区| 国产精品高潮呻吟久久av无限| 精品欧美国产一区二区三区| 日韩在线播放一区| 国产精品爱久久久久久久| 日韩精品黄色网| 欧美日韩视频免费播放| 欧美在线视频导航| 亚洲欧美日韩国产中文专区| 51ⅴ精品国产91久久久久久| 欧美成人合集magnet| 国产精品96久久久久久| 色yeye香蕉凹凸一区二区av| 国产成人精品视| 国产精品电影观看| 欧美激情视频在线观看| 久久国产精品免费视频| 久久精品视频亚洲| 欧美香蕉大胸在线视频观看| 国产精品男人的天堂| 亚洲男人天堂2019| 久久精品视频一| 国产精品麻豆va在线播放| 日韩国产欧美精品在线| 92国产精品视频| 精品露脸国产偷人在视频| 亚洲国产精品成人精品| 日韩欧美精品免费在线| 中文综合在线观看| 国产精品国产自产拍高清av水多| 国产伦精品一区二区三区精品视频| 成人免费在线视频网站| 欧美精品成人91久久久久久久| 亚洲欧美激情另类校园| 国产成人精品视频在线观看| 久久av在线播放| 久久久精品日本| 午夜精品久久久久久久男人的天堂| 久久久女女女女999久久| 欧美日韩亚洲国产一区| 欧美中文字幕视频| 最近中文字幕mv在线一区二区三区四区| 午夜精品理论片| 欧美亚洲一区在线| 92国产精品视频| 日韩美女在线播放| 亚洲欧美一区二区三区四区| 日韩中文字幕国产| 久久久精品2019中文字幕神马| 日韩激情第一页| 国产成人短视频| 久久精品视频在线观看| 亚洲性无码av在线| 欧美一级片在线播放| 欧美精品福利在线| 最近2019年中文视频免费在线观看| 国产91av在线| 91免费在线视频| 国产成人高潮免费观看精品| 日韩视频永久免费观看| 日韩欧美国产免费播放| 国产一区在线播放| 日韩小视频网址| 国产精品一区二区三区在线播放| 亚洲一区二区在线播放| 欧美成人精品在线播放| 国产亚洲美女久久| 亚洲无亚洲人成网站77777| 韩国欧美亚洲国产| 中文字幕不卡av| 国产精品免费视频xxxx| 亚洲精品久久久久久久久久久久| 一区二区亚洲欧洲国产日韩| 98精品国产自产在线观看| 亚洲精品国产精品国自产在线| 成人性生交大片免费看小说| 91最新国产视频| 久久久久久午夜| 欧美一级片在线播放| 久久国产精品影视| 亚洲国产美女精品久久久久∴| 久久综合色88| 欧美日韩亚洲成人| 亚洲国产日韩欧美在线图片| 伊人久久久久久久久久久久久| 国产精品精品久久久| 91精品视频观看| 91精品久久久久久久久中文字幕| 久久露脸国产精品| 久久国内精品一国内精品| 亚洲成年人影院在线| 亚洲精品一区av在线播放| 亚洲一区二区少妇| 欧美自拍视频在线| 久久精品视频免费播放| 精品中文字幕在线2019| 成人久久久久爱| 国产亚洲精品久久久久动| 欧美老女人性生活| 亚洲精品国产精品国自产在线| 日韩大陆欧美高清视频区| 日韩欧美一区二区三区久久| 国产成人97精品免费看片| 亚洲国产天堂久久国产91| 国产成人aa精品一区在线播放| 日韩精品视频免费在线观看| 国产精品久久久久久婷婷天堂| 久久久久久久久久国产| 国产欧美日韩亚洲精品| 最近日韩中文字幕中文| 国产欧美日韩精品在线观看| 国产精品免费一区豆花| 欧美性猛交xxxx黑人猛交| 日本午夜精品理论片a级appf发布| 亚洲影视九九影院在线观看| 日韩精品中文字幕久久臀| 欧美午夜性色大片在线观看| 91大神福利视频在线| 国产精品自拍偷拍| 中文字幕欧美精品在线| 欧美乱人伦中文字幕在线| 最近日韩中文字幕中文| 麻豆国产精品va在线观看不卡| 日韩性生活视频| 欧美一级bbbbb性bbbb喷潮片| 国产一区视频在线播放| 久久精品成人欧美大片古装| 日韩av日韩在线观看| 国产精品91在线观看| 欧美精品videos另类日本| 欧美在线视频免费| 亚洲国产精品女人久久久| 性金发美女69hd大尺寸| 这里只有精品视频在线| 亚洲欧美国产高清va在线播| 大桥未久av一区二区三区| 亚洲精品久久视频| 超在线视频97| 成人久久一区二区三区| 国产精品视频不卡| 欧美中文在线观看| 欧美大片免费观看在线观看网站推荐| 国内精品400部情侣激情| 国产热re99久久6国产精品| 国产欧美日韩中文字幕在线| 九九热r在线视频精品| 欧美视频专区一二在线观看| 精品动漫一区二区|