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

首頁 > 編程 > JavaScript > 正文

JavaScript常見JSON操作實例分析

2019-11-19 13:19:17
字體:
來源:轉載
供稿:網友

本文實例講述了JavaScript常見JSON操作。分享給大家供大家參考,具體如下:

1、JSON

JSON,JavaScript Object Notation)(JavaScript對象表示法) ,是存儲和交換文本信息的語法,是基于JavaScript的一個子集。數據格式簡單,易于讀寫,占用帶寬小,類似 XML,但JSON 比 XML更小、更快,更易解析。

JSON不支持變量、函數、對象實例,只是一種數據的格式。數據在鍵值對中,數據由逗號分隔。

2、JSON數據類型

(1)簡單數據類型:字符串、數值、布爾值,null(不支持JavaScript的 undefined)。

(2)對象:無序的鍵值對。

(3)數組:有序的值列表。

3、JSON對象與JavaScript對象的不同

(1)屬性必須用雙引號(最好不要用單引號,可能會出問題)。

(2)末尾無分號。

(3)不支持變量。

4、JSON數組與JavaScript數組的不同

(1)末尾無分號。

(2)不支持變量。

5、序列化

(1)JSON.stringify()方法

把JavaScript對象(JSON對象)序列化為JSON字符串的方法。默認情況下,輸出的JSON字符串不包含任何空格字符或縮進,同時會忽略JavScript對象的函數和原型對象。

接收3個參數:過濾器、可選的過濾器(可以是函數,也可以是數組)、可選的字符串縮進數。

var person = {  name: "Alice",  age: 23,  adult: true,  friends: ["Bruce", "Cindy"]};var jsonText1 = JSON.stringify(person);//Date對象在序列化后變成了JSON字符串var jsonText2 = JSON.stringify(person, ["name", "friends"]);//Date對象在序列化后變成了JSON字符串var jsonText3 = JSON.stringify(person, function(key, value) {switch(key){  case "friends":    return value.join("|");//按指定分隔符將數組連接成一個字符串  case "age":    return value + 1;  case "adult":    return undefined;//返回undefined則刪除此屬性  default:    return value;//其他值正常顯示  }});var jsonText4 = JSON.stringify(person, null, 4);alert(jsonText1);//{"name":"Alice","age":23,"adult":true,"friends":["Bruce", "Cindy"]}alert(jsonText2);//{"name":"Alice","friends":["Bruce", "Cindy"]}alert(jsonText3);//{"name":"Alice","age":24,"friends":["Bruce|Cindy"]}alert(jsonText4);/*{  "name":"Alice",  "age":23,  "adult":true,  "friends":[    "Bruce",    "Cindy"  ]}*/

(2)toJSON()方法

作為stringify()方法中第2個參數過濾器的補充。stringify()有時不能滿足某些對象進行自定義序列化的需求,則給對象定義toJSON()方法。

序列化對象的順序:

  • 1)若存在toJSON()方法且能通過它取得有效的值,則調用這個方法。否則,返回對象本身。
  • 2)如果提供了第2個參數,應用此函數過濾器,傳入函數過濾器的值是第1步返回的值。
  • 3)對第2步返回的每個值進行相應的序列化。
  • 4)如果提供了第3個參數,執行相應的格式化。
var person = {  name: "Alice",  age: 23,  adult: true,  friends: ["Bruce", "Cindy"],  toJSON:function(){    return {"name":"Alice","id":23,"friends":["Bruce", "Cindy"]};  }};var jsonText1 = JSON.stringify(person);//Date對象在序列化后變成了JSON字符串var jsonText2 = JSON.stringify(person, ["adult", "id", "friends"]);//Date對象在序列化后變成了JSON字符串var jsonText3 = JSON.stringify(person, function(key, value) {switch(key){  case "friends":    return value.join("|");//按指定分隔符將數組連接成一個字符串  case "id":    return value - 1;  case "age":    return value + 1;//返回undefined則刪除此屬性  default:    return value;//其他值正常顯示  }});var jsonText4 = JSON.stringify(person, null, 4);alert(jsonText1);//{"name":"Alice", "id":23, "friends":["Bruce", "Cindy"]};alert(jsonText2);//{"id":23,"friends":["Bruce", "Cindy"]}alert(jsonText3);//{"name":"Alice","id":22,"friends":["Bruce|Cindy"]}alert(jsonText4);/*{  "name":"Alice",  "id":23,  "friends":[    "Bruce",    "Cindy"  ]}*/

(3)eval()方法

把JSON字符串解析成JavaScript對象(JSON對象)的第一種方法。

var JSText = eval('(' + '{"name":"Alice", "friends":["Bruce", "Cindy"]}' + ')');alert(JSText.friends);//Bruce,Cindy

注意:eval方法只能在非嚴格模式中進行使用,在use strict中是不允許使用這個方法的。

(4)jQuery.parseJSON()方法

把JSON字符串解析成JavaScript對象(JSON對象)的第二種方法。

需要先引入jQuery的js文件。

var JSText = jQuery.parseJSON('{"name":"Alice", "friends":["Bruce", "Cindy"]}');alert(JSText.friends);//Bruce,Cindy

注意:從jQuery 3.0開始,不推薦使用jQuery.parseJSON()方法,要解析JSON字符串,請改用原生的JSON.parse()方法。

(5)JSON.parse()方法

把JSON字符串解析成JavaScript對象(JSON對象)的第三種方法。

接收2個參數:JSON字符串和可選的函數(在每個鍵值對上調用)。

eg1:

var JSText1 = JSON.parse('{"name":"Alice", "friends":["Bruce", "Cindy"]}');var JSText2 = JSON.parse('{"name":"Alice", "friends":["Bruce", "Cindy"]}', function(key, value) {  if (key == "friends")      return value.join("&");    else      return value;});alert(JSText1.friends);//Bruce,Cindyalert(JSText2.friends);//Bruce&Cindy

注意:第一個參數是JSON字符串,因此JSON對象需要用引號引住。

eg2:

var person = {  name: "Alice",  age: 23,  birthday: new Date(1993, 12, 6)//保存了一個Date對象};var jsonText = JSON.stringify(person);//Date對象在序列化后變成了JSON字符串alert(jsonText);//{"name":"Alice","age":23,"birthday":"1994-01-05T16:00:00:000Z"}var JSText = JSON.parse(jsonText, function(key, value) {//解析在JSText中還原了Date對象,則JSText.birthdat屬性中會保存一個Date對象  if (key == "birthday")    return new Date(value);  else    return value;});alert(JSText.birthday.getFullYear());//1994,已是Date對象,可以調用getFullYear()

PS:這里再為大家推薦幾款相關的json在線工具供大家參考:

在線JSON代碼檢驗、檢驗、美化、格式化工具:
http://tools.VeVB.COm/code/json

JSON在線格式化工具:
http://tools.VeVB.COm/code/jsonformat

在線XML/JSON互相轉換工具:
http://tools.VeVB.COm/code/xmljson

json代碼在線格式化/美化/壓縮/編輯/轉換工具:
http://tools.VeVB.COm/code/jsoncodeformat

在線json壓縮/轉義工具:
http://tools.VeVB.COm/code/json_yasuo_trans

更多關于JavaScript相關內容可查看本站專題:《JavaScript中json操作技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結

希望本文所述對大家JavaScript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
www亚洲欧美| 国产成人精品免费视频| 中文字幕欧美精品日韩中文字幕| 亚洲国产私拍精品国模在线观看| 国产精品久久视频| 亚洲一区二区久久| 国产精品免费久久久久久| 欧美风情在线观看| 久久久www成人免费精品张筱雨| 欧美视频中文字幕在线| 欧美亚洲视频在线观看| 亚洲最大成人在线| 美女国内精品自产拍在线播放| 久久久久久久久久久网站| 欧美视频一二三| 亚洲 日韩 国产第一| 欧美在线观看网站| 亚洲电影免费在线观看| 亚洲国产精品专区久久| 91精品国产高清久久久久久91| 日韩成人在线视频网站| 久久6精品影院| 国内精品久久久久久| 国产日韩亚洲欧美| 日韩极品精品视频免费观看| 91在线色戒在线| 国产一区二区三区欧美| 欧美激情亚洲国产| 欧美怡春院一区二区三区| 欧美成人合集magnet| 国产精品女主播| 亚洲精品久久久久久久久久久久久| 成人免费视频网址| 欧美xxxx14xxxxx性爽| 日韩免费电影在线观看| 77777少妇光屁股久久一区| 亚洲性av在线| 亚洲一区二区三区在线视频| 亚洲已满18点击进入在线看片| 亚洲国产天堂久久综合| 精品成人69xx.xyz| 国内精品中文字幕| 久久久久久国产精品三级玉女聊斋| 国产精品久久久久久久久久久久久久| 国内外成人免费激情在线视频网站| 欧美性猛交99久久久久99按摩| 亚洲国产高清福利视频| 亚洲最新av在线网站| 成人国产精品色哟哟| 亚洲在线第一页| 亚洲欧美综合区自拍另类| 国产在线精品自拍| 亚洲欧美日韩一区在线| 国内精品400部情侣激情| 日韩精品高清在线观看| 国产精品网红福利| 欧美另类在线观看| 亚洲国产精品视频在线观看| 亚洲黄色成人网| 日本成人黄色片| 国产在线观看一区二区三区| 一二美女精品欧洲| 午夜伦理精品一区| 亚洲尤物视频网| 全球成人中文在线| 国产精品你懂得| 粉嫩老牛aⅴ一区二区三区| 日韩av在线免费| 亚洲国产成人精品电影| 久久久精品一区二区| 国产精品中文在线| 97人人爽人人喊人人模波多| 日韩国产激情在线| 久久免费精品日本久久中文字幕| 日韩国产精品视频| 欧美高清videos高潮hd| 精品国产乱码久久久久久虫虫漫画| 欧美在线观看日本一区| 国产在线观看一区二区三区| 久久精品国产久精国产一老狼| 欧美激情免费在线| 久久精品电影网站| 国语自产精品视频在线看| 有码中文亚洲精品| www.日韩免费| 亚洲欧美在线一区| 国产精品大片wwwwww| 亚洲成人av资源网| 国产精品自产拍在线观看中文| 国产精品美女视频网站| 国产97在线|日韩| 国产亚洲欧美一区| 精品福利免费观看| 精品一区精品二区| 狠狠色狠狠色综合日日五| 97精品免费视频| 亚洲国产高潮在线观看| 欧美日韩国产精品一区| 成人乱人伦精品视频在线观看| 精品久久久久久久久久ntr影视| 久久精品成人欧美大片古装| 欧洲中文字幕国产精品| 国产一区二区久久精品| 欧洲永久精品大片ww免费漫画| 亚洲www视频| 午夜精品久久久久久久白皮肤| 狠狠操狠狠色综合网| 国内偷自视频区视频综合| 日韩欧美成人免费视频| 欧美高清视频免费观看| 亚洲护士老师的毛茸茸最新章节| 在线观看欧美日韩| 国内精品国产三级国产在线专| 国产精品久久一区主播| 精品日韩视频在线观看| 色久欧美在线视频观看| 久久精品视频亚洲| 8x海外华人永久免费日韩内陆视频| 亚洲片在线观看| 成人国产精品久久久久久亚洲| 国产91色在线播放| 国产在线精品一区免费香蕉| 国产国产精品人在线视| 日韩亚洲欧美中文高清在线| 91精品久久久久久久久久| 国产精品女主播| 羞羞色国产精品| 欧美一级大胆视频| 欧美视频在线视频| 亚洲女同性videos| 91精品久久久久久久久久入口| 亚洲人精品午夜在线观看| 日韩在线视频线视频免费网站| 国内揄拍国内精品| 91亚洲va在线va天堂va国| 4k岛国日韩精品**专区| 久久成人精品一区二区三区| 伊人久久久久久久久久久久久| 黄网动漫久久久| 国产一区深夜福利| 日韩av电影院| 成人性教育视频在线观看| 欧美黄网免费在线观看| 国产性色av一区二区| 国产一区二区日韩精品欧美精品| 欧美性猛交xxxx免费看| 日韩高清中文字幕| 国产精品扒开腿做爽爽爽男男| 日韩中文娱乐网| 欧美最猛性xxxxx免费| 亚洲精品欧美日韩| 91情侣偷在线精品国产| 中文字幕国产精品久久| 欧美最猛黑人xxxx黑人猛叫黄| 日韩最新在线视频| 亚洲男女自偷自拍图片另类| 精品网站999www| 国产深夜精品福利| 久久色在线播放| 亚洲人成电影网| 国模私拍一区二区三区| 亚洲一区二区福利| 欧美精品videosex牲欧美| 亚洲美女av在线|