首頁  >  文章  >  web前端  >  json和javascript物件有什麼差別

json和javascript物件有什麼差別

醉折花枝作酒筹
醉折花枝作酒筹原創
2021-07-16 14:57:384661瀏覽

json和javascript物件的區別是:JS自變數的文本是被腳本引擎直接解析的,而JSON的文本,如果要轉換為JS物件的話,是交給eval函數來處理的。

json和javascript物件有什麼差別

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

//js对象的字面量表示法: 
var people1={ 
name:'hehe', 
age:18 
}; 

//json的格式是: 
var people1={ 
"name":'hehe', 
"age":18 
};

    二者相同的地方是,看起來都是數據,而且恰巧又都是文本;不同的地方在於,JS字面量的文本是被腳本引擎直接解析的,而JSON的文本,如果要轉換為JS物件的話,是交給eval函數來處理的,那麼,如何理解JSON的文本,就取決於這個函數,而不是腳本引擎,因為這2者的處理根本就不在一個層面上。

var obj={width:100,height:200}

這樣的並不叫JSON,並且JSON只是一種資料格式,並不是具體的實例物件。但很多人把這樣的JS物件當成JSON。  

     1、JSON(JavaScript Object Notation)是一種輕量級的資料交換格式,JSON格式的數據,主要是為了跨平台交流資料用的。 

     2、但JSON和JavaScript確實存在淵源,可以說這種資料格式是從JavaScript物件演變出來的,它是JavaScript的子集。 JSON本身的意思就是JavaScript物件表示法(JavaScript Object Notation),它用嚴格的JavaScript物件表示法來表示結構化的資料。

    3、它是一種嚴格的js物件的格式,JSON的屬性名稱必須有雙引號,如果值是字串,也必須是雙引號; 

##    4、JSON只是一種資料格式(或稱為資料形式),資料格式其實就是一種規範,格式、形式、規範是不能用來存諸資料的。我們不能把以下的物件叫JSON,例如:

        var obj2={}; //这只是JS对象
        var obj3={width:100,height:200};
        /*这跟JSON就更不沾边了,只是JS的对象 */

        var obj4={'width':100,'height':200};
        /*这跟JSON就更不沾边了,只是JS的对象 */

        var obj5={"width":100,"height":200,"name":"rose"}; 
        /*我们可以把这个称做:JSON格式的JavaScript对象 */

        var str1='{"width":100,"height":200,"name":"rose"}';
        /*我们可以把这个称做:JSON格式的字符串 */

        var a=[
        {"width":100,"height":200,"name":"rose"},
        {"width":100,"height":200,"name":"rose"},
        {"width":100,"height":200,"name":"rose"},
        ];
        /*这个叫JSON格式的数组,是JSON的稍复杂一点的形式 */

        var str2 = '['+
        '{"width":100,"height":200,"name":"rose"},'
        +'{"width":100,"height":200,"name":"rose"},'
        +'{"width":100,"height":200,"name":"rose"},'
        +']';
        /*  这个叫稍复杂一点的JSON格式的字符串  */
【推薦學習:

javascript高階教學#

以上是json和javascript物件有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn