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);