1. 程式人生 > >HTML5之JSON新方法 parse()和stringify()

HTML5之JSON新方法 parse()和stringify()

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JSON</title>

    <script type="text/javascript">

        // var str='function show(){alert(123)};'  //因為function在字串裡,所以不能有空格
        // eval(str);  //eval() 函式可計算某個字串,並執行其中的的 JavaScript 程式碼eval(string),將字串轉化為JS
// show(); // var str='function show(){alert(123)}'; // JSON.parse(str);//報錯,function show(){alert(123)}不是json格式 // show(); // var str='{"name":"hello"}';//必須嚴格json形式,屬性和值的雙引號(不能是單引號)必須加 // var json=JSON.parse(str); // alert(typeof(json.name));//string // var json='{name:"hello"}';
// var str=JSON.stringify(json); // alert(str);//"{name:\"hello\"}",結果會自動加上引號 // var a={name:"hello"};//此句後面不能加分號,會報錯Unexpected token; // var b=a; // b.name="hi"; // alert(a.name);//hi,原理物件引用 // var a={name:"hello"}; // var b={}; // for(var attr in a){
// b[attr]=a[attr]; // } // b.name='hi'; // alert(a.name); //hello // 新方法 parse()和stringity()的應用:深度克隆新的物件 // var a={name:"hello"}; // var str=JSON.stringify(a); // var b=JSON.parse(str); // b.name="hi"; // alert(a.name);//hello // var a={name:{age:100}}; // var str=JSON.stringify(a); // var b=JSON.parse(str); // b.name.age="hi"; // alert(a.name.age);//100
</script> </head> <body> </body> </html> <!-- JSON的方法: eval():能解析任何字串變成json parse():只能解析json形式的字串變成json,安全性高一些 stringify():json轉換為字串,解析的時候會自動加上引號 -->