您好,登錄后才能下訂單哦!
本篇文章為大家展示了如何解析Json字符串,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
1.首先,我們先看一下什么是 json 格式字符串?dāng)?shù)據(jù),很簡(jiǎn)單,就是 json 字符串化,在json 最外加單/雙號(hào)變?yōu)樽址當(dāng)?shù)據(jù)
var str='{"name":"Mike","sex":"女","age":"29"}'; var t2="[{name:'lisi',age:'30'},{name:'wangwu',age:'16'},{name:'tianqi',age:'7'}] ";
2.我們用Object.prototype.toString.call() 來(lái)檢測(cè)數(shù)據(jù)類型
console.log(Object.prototype.toString.call(str));//[object String] console.log(Object.prototype.toString.call(t2));//[object String]
第一種方法:evel();
特點(diǎn):安全性底,不建議使用,單個(gè)JSON對(duì)象時(shí)要加括號(hào),JSON數(shù)組就不需要了
示例:
var evajson =eval('('+str+')'); var evajsarr = eval(t2);
轉(zhuǎn)換后,再使用Object.prototype.toString.call() 來(lái)檢測(cè)轉(zhuǎn)換后的數(shù)據(jù)類型
console.log(Object.prototype.toString.call(evajso))//[object Object] console.log(Object.prototype.toString.call(evajsarr))//[object Array]
第二種:new Function()
注意:函數(shù)要有返回,所以要加“return”;
示例:
var fnjson = new Function("return"+str)(); var fnjsonArr = new Function("return"+t2)();
轉(zhuǎn)換后,再使用Object.prototype.toString.call() 來(lái)檢測(cè)轉(zhuǎn)換后的數(shù)據(jù)類型
console.log(Object.prototype.toString.call(fnjson ))//[object Object] console.log(Object.prototype.toString.call(fnjsonArr ))//[object Array]
第三種:JSON.parse()
特點(diǎn):主流,兼容性好,推薦
示例:
var parjson = JSON.parse(str); var parjson = JSON.parse(t2);
檢測(cè)轉(zhuǎn)后的數(shù)據(jù)類型
console.log(Object.prototype.toString.call(parjson ))//[object Object] console.log(Object.prototype.toString.call(parjson ))//[object Array]
上述內(nèi)容就是如何解析Json字符串,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。