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

JavaScript中的對(duì)象與JSON

 更新時(shí)間:2015年07月03日 09:01:41   投稿:junjie  
這篇文章主要介紹了JavaScript中的對(duì)象與JSON,本文講解了定義JSON與javascript對(duì)象、javascript對(duì)象轉(zhuǎn)換為JSON、javascript中解析JSON等內(nèi)容,需要的朋友可以參考下

簡(jiǎn)介

JSON即JavaScript Object Natation,它是一種輕量級(jí)的數(shù)據(jù)交換格式,非常適合于服務(wù)器與 JavaScript 的交互。
JSON是一種數(shù)據(jù)交換格式,像XML和YAML一樣是一種在各種不同語(yǔ)言間傳遞結(jié)構(gòu)化信息的方式。從另一方面來(lái)說(shuō),javascript對(duì)象是javascript語(yǔ)言中的一種數(shù)據(jù)類(lèi)型,就像PHP中的數(shù)組、C++中類(lèi)和結(jié)構(gòu)體。

定義JSON與javascript對(duì)象

在javascript程序中定義對(duì)象的時(shí)候,對(duì)象的屬性名可以加雙引號(hào)也可以不加雙引號(hào)。如果屬性名包含特殊字符(如!、if等)的時(shí)候,就必須加雙引號(hào)。
在定義JSON的時(shí)候,屬性名必須加雙引號(hào)。

代碼示例:

1.定義javascript對(duì)象

復(fù)制代碼 代碼如下:

var obj={name:"tudouya","sex":"man"};  #兩個(gè)屬性可以加雙引號(hào)也可以不加
var obj={"!":"hello world"};  #屬性名包含特殊字符時(shí)必須加雙引號(hào)

2.定義JSON字符串
復(fù)制代碼 代碼如下:

var jsonString={"name":"tudouya"};  #定義JSON時(shí)必須加雙引號(hào)

javascript對(duì)象轉(zhuǎn)換為JSON

1.javascript對(duì)象轉(zhuǎn)換為JSON

我們可以使用javascript的內(nèi)置函數(shù)將javascript對(duì)象轉(zhuǎn)換為JSON,這個(gè)函數(shù)就是JSON.stringify().
代碼示例:

復(fù)制代碼 代碼如下:

var obj={name:"tudouya",sex:"man"};
var jsonObj=JSON.stringify(obj);
console.log(jsonObj);
##輸出結(jié)果為:{"name":"tudouya","sex":"man"}

在將javascript對(duì)象轉(zhuǎn)換為JSON的時(shí)候,有一點(diǎn)是需要我們注意的:
如果對(duì)象中包含有值為函數(shù)和日期的屬性,JSON會(huì)忽略值為函數(shù)的屬性,并將值為日期的屬性轉(zhuǎn)換為字符串。
代碼示例:
復(fù)制代碼 代碼如下:

var obj={
 name:"tudouya",
 birthday:new Date(),
 action:function (){
  document.write("walk");
 }
};
var jsonObj=JSON.stringify(obj);
console.log(jsonObj);
##輸出結(jié)果為:{"name":"tudouya","birthday":"2014-08-12T10:05:00.497Z"}

javascript中解析JSON

在老版本的JS中,大家通常都使用eval()函數(shù)來(lái)解析JSON,但是ECMAScript5給我們提供了一個(gè)解析JSON的新函數(shù)JSON.parse()。

這個(gè)函數(shù)的使用方法比較簡(jiǎn)單,大家可以自行嘗試。當(dāng)對(duì)某個(gè)JSON字符串應(yīng)用該函數(shù)以后,該JSON就被轉(zhuǎn)換為javascript的對(duì)象,也就是說(shuō)當(dāng)用typeof運(yùn)算符查看該函數(shù)的類(lèi)型時(shí),返回的值是Object。
同樣有一點(diǎn)需要注意的是,該函數(shù)是ECMAScript5以后才支持的,如果是舊版本的瀏覽器那么可能不支持該函數(shù)。解決的方法是加載一個(gè)實(shí)現(xiàn)該函數(shù)的js文件,即json2.js。如果使用的是JQuery框架,jQuery.parseJSON(),該函數(shù)調(diào)用了JSON.parse()方法。
關(guān)于使用eval()方法解析JSON,這個(gè)等深入學(xué)習(xí)后會(huì)記錄下來(lái)。

一個(gè)很重要的概念

作為一個(gè)前端菜鳥(niǎo),經(jīng)常聽(tīng)到別人說(shuō)“JSON對(duì)象”,但是其實(shí)并沒(méi)有“JSON對(duì)象”這個(gè)概念,JSON真正的表現(xiàn)形式是字符串。

相關(guān)文章

  • 淺談Web頁(yè)面向后臺(tái)提交數(shù)據(jù)的方式和選擇

    淺談Web頁(yè)面向后臺(tái)提交數(shù)據(jù)的方式和選擇

    下面小編就為大家?guī)?lái)一篇淺談Web頁(yè)面向后臺(tái)提交數(shù)據(jù)的方式和選擇。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-09-09
  • Javascript String.replace的妙用

    Javascript String.replace的妙用

    字符替換是一個(gè)非常重要的功能,javascript 中有一個(gè) String.replace( ),但是此方法有很多不為新手所知的妙用,如果用的好了,可以為您節(jié)省很多寶貴時(shí)間,還等什么?馬上進(jìn)來(lái)看看吧!
    2009-09-09
  • 淺談javascript中new操作符的原理

    淺談javascript中new操作符的原理

    下面小編就為大家?guī)?lái)一篇淺談javascript中new操作符的原理。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-06-06
  • 詳解JavaScript ES6中的Generator

    詳解JavaScript ES6中的Generator

    這篇文章主要介紹了詳解JavaScript ES6中的Generator,ES6版本的JS帶來(lái)了諸多簡(jiǎn)潔化的改善,需要的朋友可以參考下
    2015-07-07
  • mailto的使用技巧分享

    mailto的使用技巧分享

    如何使用mailto?對(duì)于大多數(shù)人來(lái)說(shuō)并不是很陌生,但是實(shí)用上的細(xì)節(jié)部分你們有沒(méi)有注意到,接下來(lái)分享一下本人在使用過(guò)程中的經(jīng)驗(yàn),需要了解的朋友可以參考下
    2012-12-12
  • C#中使用迭代器處理等待任務(wù)

    C#中使用迭代器處理等待任務(wù)

    這篇文章主要介紹了C#中使用迭代器處理等待任務(wù),迭代器是C#的重要特性,文中用迭代器進(jìn)行了異步編程的相關(guān)實(shí)踐,需要的朋友可以參考下
    2015-07-07
  • offsetParent 算法分析

    offsetParent 算法分析

    以下部分內(nèi)容翻譯自 W3C 的 CSSOM View Module,W3C 工作草案 2008年2月22日。
    2010-04-04
  • jQuery入門(mén)問(wèn)答 整理的幾個(gè)常見(jiàn)的初學(xué)者問(wèn)題

    jQuery入門(mén)問(wèn)答 整理的幾個(gè)常見(jiàn)的初學(xué)者問(wèn)題

    大家可能看到了,我已經(jīng)將過(guò)去寫(xiě)的兩篇jQuery的教程刪掉了,因?yàn)楦郊淮嬖诹说鹊葐?wèn)題,所以刪除了,從今天開(kāi)始我就寫(xiě)jQuery教程第二版了!希望大家能夠支持我!
    2010-02-02
  • js單詞形式的運(yùn)算符

    js單詞形式的運(yùn)算符

    這篇文章主要介紹了js單詞形式的運(yùn)算符,需要的朋友可以參考下
    2014-05-05
  • 最新評(píng)論

    石林| 临潭县| 浦县| 彭州市| 奉化市| 阆中市| 阿克苏市| 西平县| 中宁县| 沽源县| 沂源县| 佛冈县| 宁津县| 神木县| 中超| 新绛县| 阳城县| 大同市| 高青县| 金川县| 松桃| 沙河市| 长宁县| 夏津县| 白山市| 哈密市| 武宣县| 绵竹市| 尚志市| 阿鲁科尔沁旗| 台前县| 涞水县| 荣昌县| 泸州市| 临漳县| 庐江县| 宾阳县| 容城县| 泸溪县| 盐源县| 金昌市|