在很多時候,我們的需要將類似 json 格式的字符串數據轉為json,
下面將介紹日常中使用的三種解析json字符串的方法
1.首先,我們先看一下什么是 json 格式字符串數據,很簡單,就是 json 字符串化,在json 最外加單/雙號變為字符串數據
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() 來檢測數據類型
console.log(Object.prototype.toString.call(str));//[object String] console.log(Object.prototype.toString.call(t2));//[object String]
第一種方法:evel();
特點:安全性底,不建議使用,單個JSON對象時要加括號,JSON數組就不需要了
示例:
var evajson =eval('('+str+')');var evajsarr = eval(t2);
轉換后,再使用Object.prototype.toString.call() 來檢測轉換后的數據類型
console.log(Object.prototype.toString.call(evajso))//[object Object]console.log(Object.prototype.toString.call(evajsarr))//[object Array]
第二種:new Function()
注意:函數要有返回,所以要加“return”;
示例:
var fnjson = new Function("return"+str)(); var fnjsonArr = new Function("return"+t2)();
轉換后,再使用Object.prototype.toString.call() 來檢測轉換后的數據類型
console.log(Object.prototype.toString.call(fnjson ))//[object Object]console.log(Object.prototype.toString.call(fnjsonArr ))//[object Array]
第三種:JSON.parse()
特點:主流,兼容性好,推薦
示例:
var parjson = JSON.parse(str); var parjson = JSON.parse(t2);
檢測轉后的數據類型
console.log(Object.prototype.toString.call(parjson ))//[object Object] console.log(Object.prototype.toString.call(parjson ))//[object Array]
總結
以上所述是小編給大家介紹的解析Json字符串的三種方法日常常用,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
新聞熱點
疑難解答