javascript對象,用鍵值對,定以後直接用,用“.”來使用,如person.name,對象是屬性的集合(對象也可以看爲屬性)。
json對象。和javascript區別是屬性要加""
php對象和c++和java對象類似,定義後需要new才能用,然後用"->"來使用,如$person->name,$person->getInfo()。
<!DOCTYPE html> <html> <head lang="en"> <meta charset="utf-8"> <title></title> </head> <body> <!--javascript對象實例.jascript對象和變量一樣,定義後直接使用,無需new--> <div id="name"></div> <script> var person = { firstName:"john", lastName:"Doe", age:35, eyeColor:"blue", getInfo:function(){ return this.firstName; } }; document.write(person.firstName); document.getElementById('name').innerHTML = person.getInfo(); </script> <!--php對象實例。定義後需要new,和c++和java對象類似--> <?php class animal{ public $name = ""; public $color = ""; public $age = ""; public function getInfo(){ return $this->name; } public function setInfo($name){ $this->name = $name; } } $pig = new animal(); $pig->setInfo("豬"); $name = $pig->getInfo(); echo $name; ?> <!--json對象。和javascript區別是屬性要加"".而且屬性必須用雙引號,用單引號就會錯,--> <script> var employees = [ {"firstName":"John","lastName":"Doe"}, {"firstName":"Anna","lastName":"smith"}, {"firstName":"peter","lastName":"Jones"} ]; document.write(employees[1].firstName); </script> </body> </html>
我初學JSON,按照官方說明,在json2.js中有parse和stringify兩個方法,parse用於從一個字符串中解析出json對象。還是舉個例子說明:
1 var str = "{'name':'x', 'age':23}"; 2 JSON.parse(str.name);
原來認爲這肯定能夠正確執行的,但是無論怎樣寫這個對象string,都拋出異常。後來發現原來是 " 和 ' 導致的錯誤。如果改爲:
1 var str='{"name":"xskow", "age":23}'; 2 JSON.parse(str.name);
就OK了!
還有就是我們寫對象的時候一般可以{name:'xskow'},即屬性名可以不用雙引號括起來,但如果使用JSON.parse的話,每個屬性都必須用雙引號括起來,否則也會拋出異常。
複雜JSon數據的操作方法。
1 var str='{ "studies":[{ "UserName": "李彥宏", "Sex": "男", "Age":25, "XueHao":"00001", "BanJi":"一班" },{ "UserName": "馬雲", "Sex": "男", "Age":31, "XueHao":"00002", "BanJi":"二班" }]}' 2 JSON.parse(str.studies[0].userName);