json和javascript物件的區別是:JS自變數的文本是被腳本引擎直接解析的,而JSON的文本,如果要轉換為JS物件的話,是交給eval函數來處理的。
本教學操作環境: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中文網其他相關文章!