国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScript中的對象與JSON

2024-05-06 16:22:40
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了JavaScript中的對象與JSON,本文講解了定義JSON與javascript對象、javascript對象轉換為JSON、javascript中解析JSON等內容,需要的朋友可以參考下
 

簡介

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

定義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對象轉換為JSON

1.javascript對象轉換為JSON

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

復制代碼代碼如下:

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

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

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

 

javascript中解析JSON

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

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

一個很重要的概念

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 客服| 阜平县| 西宁市| 新乡县| 宿松县| 斗六市| 汉川市| 洛扎县| 奈曼旗| 卢氏县| 东辽县| 霞浦县| 冷水江市| 玉田县| 秦安县| 清徐县| 霸州市| 盈江县| 射阳县| 龙海市| 崇信县| 定结县| 都安| 永修县| 莱西市| 集安市| 育儿| 鄂伦春自治旗| 汉寿县| 哈尔滨市| 绥宁县| 商都县| 贵州省| 临沧市| 南阳市| 鄢陵县| 乌鲁木齐县| 浪卡子县| 陆良县| 尤溪县| 罗平县|