和一些同學一樣:總是感覺json對象(其實json不是對象)和js對象的字面量表示法相同,最近學習json,真心搞不懂,js對象和json有什么區別?就是感覺json的key要用” “括起來,但是js對象的字面量表示法不需要。 比如:
//js對象的字面量表示法: var people1={ name:'hehe', age:18 }; //json的格式是: var people1={ "name":'hehe', "age":18 }; 二者相同的地方是,看起來都是數據,而且恰巧又都是文本;不同的地方在于,JS字面量的文本是被腳本引擎直接解析的,而JSON的文本,如果要轉化為JS對象的話,是交給eval函數來處理的,那么,如何理解JSON的文本,就取決于這個函數,而不是腳本引擎,因為這2者的處理根本就不在一個層面上。 一直以為JSON是對象,然而在閱讀js高程中出現了一些不理解的地方,網上查閱才發現JSON與JS有很大的不同。 var obj={width:100,height:200}
,這樣的并不叫JSON,并且JSON只是一種數據格式,并不是具體的實例對象。但很多人把這樣的JS對象當成JSON。 JSON(javaScript Object Notation)是一種輕量級的數據交換格式,JSON格式的數據,主要是為了跨平臺交流數據用的。 但JSON和Javascript確實存在淵源,可以說這種數據格式是從JavaScript對象中演變出來的,它是JavaScript的一個子集。JSON本身的意思就是JavaScript對象表示法(JavaScript Object Notation),它用嚴格的JavaScript對象表示法來表示結構化的數據。 它是一種嚴格的js對象的格式,JSON的屬性名必須有雙引號,如果值是字符串,也必須是雙引號; JSON只是一種數據格式(或者叫數據形式),數據格式其實就是一種規范,格式、形式、規范是不能用來存諸數據的。我們不能把以下的對象叫JSON,比如:
新聞熱點
疑難解答