本篇內(nèi)容主要講解“javascript中的json方法有什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“javascript中的json方法有什么”吧!
創(chuàng)新互聯(lián)公司專注于企業(yè)營銷型網(wǎng)站、網(wǎng)站重做改版、桂東網(wǎng)站定制設計、自適應品牌網(wǎng)站建設、H5技術、商城網(wǎng)站定制開發(fā)、集團公司官網(wǎng)建設、外貿(mào)網(wǎng)站建設、高端網(wǎng)站制作、響應式網(wǎng)頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為桂東等各大城市提供網(wǎng)站開發(fā)制作服務。
javascript中的json方法:1、“JSON.parse()”方法,用于將一個JSON字符串轉(zhuǎn)換為JavaScript對象;2、“JSON.stringify()”方法,用于將JavaScript值轉(zhuǎn)換為JSON字符串。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式,采用完全獨立于語言的文本格式,是理想的數(shù)據(jù)交換格式。同時,JSON是 JavaScript 原生格式,這意味著在 JavaScript 中處理 JSON數(shù)據(jù)不須要任何特殊的 API 或工具包。
基礎結(jié)構(gòu)
必須使用雙引號"
包含鍵值
// 鍵值對的集合,值的有序列表 var JsonObj = {"name":"Hannah", "like":["看書", "電影", "晨跑"]};
數(shù)組
var jsonArr = [ { "name": "tom", "type": "cat" }, { "name": "jack", "type": "mouse" } ]
對象
var jsonObj = { "like": ["看書", "電影", "晨跑"], "book": ["數(shù)字城堡", "刻意練習", "老人與海"] }
字符串轉(zhuǎn)對象
var jsonObject= JSON.parse(jsonstr);
對象轉(zhuǎn)字符串
var jsonstr =JSON.stringify(jsonObject);
優(yōu)雅的輸出格式
JSON.stringify() 方法的可選參數(shù)space,可以指定縮進用的空白字符串,用于美化輸出(pretty-print)space參數(shù)是個數(shù)字,它代表有多少的空格;上限為10。該值若小于1,則意味著沒有空格;如果該參數(shù)沒有提供(或者為null)將沒有空格。
// replacer 分隔符 space 縮進 JSON.stringify(value[, replacer [, space]]) var formatJsonStr=JSON.stringify(jsonObject,undefined, 2);
工作經(jīng)常遇到這樣的字符串,如下:
需要經(jīng)過替換后,才能從字符串轉(zhuǎn)化成JSON對象。這里我們需要用JS實現(xiàn)replaceAll的功能, 將所有的 ’ \" ’ 替換成 ’ " ’ .
代碼如下,這里的gm是固定的,g表示global,m表示multiple:
var jsonStr=jsonStr.replace(new RegExp('\\"',"gm"), '"' );
替換后的效果如下:
// 遍歷JSON對象 var packJson = { "name":"Liza", "password":"123" }; for(var k in packJson ){ //遍歷packJson 對象的每個key/value對,k為key alert(k + " " + packJson[k]); } // 遍歷JSON數(shù)組 var packJson = [ { "name":"Liza", "password":"123" }, { "name":"Mike", "password":"456" } ]; for(var i in packJson){ //遍歷packJson 數(shù)組時,i為索引 alert(packJson[i].name + " " + packJson[i].password); }
到此,相信大家對“javascript中的json方法有什么”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!