140JS--json

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容