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

JavaScript中的對象與JSON

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

簡介

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

定義JSON與javascript對象

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

代碼示例:

1.定義javascript對象

復制代碼 代碼如下:

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

2.定義JSON字符串
復制代碼 代碼如下:

var jsonString={"name":"tudouya"};  #定義JSON時必須加雙引號

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

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

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

復制代碼 代碼如下:

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

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

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ù)來解析JSON,但是ECMAScript5給我們提供了一個解析JSON的新函數(shù)JSON.parse()。

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

一個很重要的概念

作為一個前端菜鳥,經(jīng)常聽到別人說“JSON對象”,但是其實并沒有“JSON對象”這個概念,JSON真正的表現(xiàn)形式是字符串。

相關(guān)文章

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

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

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

    Javascript String.replace的妙用

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

    淺談javascript中new操作符的原理

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

    詳解JavaScript ES6中的Generator

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

    mailto的使用技巧分享

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

    C#中使用迭代器處理等待任務

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

    offsetParent 算法分析

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

    jQuery入門問答 整理的幾個常見的初學者問題

    大家可能看到了,我已經(jīng)將過去寫的兩篇jQuery的教程刪掉了,因為附件不存在了等等問題,所以刪除了,從今天開始我就寫jQuery教程第二版了!希望大家能夠支持我!
    2010-02-02
  • js單詞形式的運算符

    js單詞形式的運算符

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

    石狮市| 绥阳县| 德化县| 大城县| 阳朔县| 福安市| 谷城县| 赣榆县| 万年县| 九龙县| 桐庐县| 丰顺县| 云林县| 科尔| 锡林郭勒盟| 溧阳市| 大渡口区| 泰来县| 嘉荫县| 忻城县| 邵阳县| 神木县| 武功县| 田林县| 广南县| 浦北县| 阳信县| 建湖县| 五家渠市| 平陆县| 察雅县| 自贡市| 太康县| 徐州市| 宁蒗| 大理市| 惠安县| 黄骅市| 静宁县| 富源县| 会昌县|