當(dāng)前位置:
首頁(yè) >
前端技术
> javascript
>内容正文
javascript
JS中的JSON
<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><!--如果需要兼容IE7及以下的JSON操作,則可以通過引入一個(gè)外部的js文件來處理--><script type="text/javascript" src="js/json2.js"></script><script type="text/javascript">/** JSON* - JS中的對(duì)象只有JS自己認(rèn)識(shí),其他的語言都不認(rèn)識(shí)* - JSON就是一個(gè)特殊格式的字符串,這個(gè)字符串可以被任意的語言所識(shí)別,* 并且可以轉(zhuǎn)換為任意語言中的對(duì)象,JSON在開發(fā)中主要用來數(shù)據(jù)的交互* - JSON* - JavaScript Object Notation JS對(duì)象表示法* - JSON和JS對(duì)象的格式一樣,只不過JSON字符串中的屬性名必須加雙引號(hào)* 其他的和JS語法一致* JSON分類:* 1.對(duì)象 {}* 2.數(shù)組 []* * JSON中允許的值:* 1.字符串* 2.數(shù)值* 3.布爾值* 4.null* 5.對(duì)象* 6.數(shù)組*///創(chuàng)建一個(gè)對(duì)象var arr = '[1,2,3,"hello",true]';var obj2 = '{"arr":[1,2,3]}';var arr2 ='[{"name":"孫悟空","age":18,"gender":"男"},{"name":"孫悟空","age":18,"gender":"男"}]';/** 將JSON字符串轉(zhuǎn)換為JS中的對(duì)象* 在JS中,為我們提供了一個(gè)工具類,就叫JSON* 這個(gè)對(duì)象可以幫助我們將一個(gè)JSON轉(zhuǎn)換為JS對(duì)象,也可以將一個(gè)JS對(duì)象轉(zhuǎn)換為JSON*/var json = '{"name":"孫悟空","age":18,"gender":"男"}';/** json --> js對(duì)象* JSON.parse()* - 可以將以JSON字符串轉(zhuǎn)換為js對(duì)象* - 它需要一個(gè)JSON字符串作為參數(shù),會(huì)將該字符串轉(zhuǎn)換為JS對(duì)象并返回*/var o = JSON.parse(json);var o2 = JSON.parse(arr);//console.log(o.gender);//console.log(o2[1]);var obj3 = {name:"豬八戒" , age:28 , gender:"男"};/** JS對(duì)象 ---> JSON* JSON.stringify()* - 可以將一個(gè)JS對(duì)象轉(zhuǎn)換為JSON字符串* - 需要一個(gè)js對(duì)象作為參數(shù),會(huì)返回一個(gè)JSON字符串*/var str = JSON.stringify(obj3);//console.log(str);/** JSON這個(gè)對(duì)象在IE7及以下的瀏覽器中不支持,所以在這些瀏覽器中調(diào)用時(shí)會(huì)報(bào)錯(cuò)*/var str3 = '{"name":"孫悟空","age":18,"gender":"男"}';JSON.parse(str3);</script></head><body></body>
</html>
<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><script type="text/javascript">var str = '{"name":"孫悟空","age":18,"gender":"男"}';/** eval()* - 這個(gè)函數(shù)可以用來執(zhí)行一段字符串形式的JS代碼,并將執(zhí)行結(jié)果返回* - 如果使用eval()執(zhí)行的字符串中含有{},它會(huì)將{}當(dāng)成是代碼塊* 如果不希望將其當(dāng)成代碼塊解析,則需要在字符串前后各加一個(gè)()* * - eval()這個(gè)函數(shù)的功能很強(qiáng)大,可以直接執(zhí)行一個(gè)字符串中的js代碼,* 但是在開發(fā)中盡量不要使用,首先它的執(zhí)行性能比較差,然后它還具有安全隱患*/var str2 = "alert('hello');";var obj = eval("("+str+")");//console.log(obj);</script></head><body></body>
</html>
總結(jié)
- 上一篇: 9个最佳骷髅标志以及如何免费制作自己的标
- 下一篇: Springboot中进行日志打印需要的