JSON對象與JavaScript對象的區別


 

 

//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格式的字符串 */

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM