json 对象 数组

上一篇 / 下一篇  2014-07-18 13:54:16 / 个人分类:原创

    对象 数组在php和js中有些不同,例如:
<?php 

$a=array(1,2,3,4);
$a["foo"]="Hello world"; //相当于给数组增加了一个元素
//echo count($a);
print_r($a);
?>
输出结果是:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [foo] => Hello world )

<script. type="text/javascript">
 var a={
   name:"51testing.com",
   "f":"baidu.com",
   1:"qq.com"
}
//alert(a.name+" "+a['f']+" "+a[1]);

 var a=[1,2,3,4];
 
    a['foo']='Hello World foo'; //相当于给a对象增加了属性foo
    a['length'] = 6; //length也是a对象的属性,此时相当于重新给这个属性赋值
   // alert(a['length']);   //结果是6
   // alert(a.length);  //结果是6
alert(a); //结果是1,2,3,4,,
 </script>
这两个就有区别的

另外,对于json格式 前面的key有三种形式:数字(1),字符串("f")和变量标识符(name),这三种都可以,但是唯有标识符这种形式可以既用a.name来引用,又可以用a["name"]来引用。其它的只能用a[]的形式来引用,所以a."f"和a.1的形式都取不到value的值。

有这样个观点,数据就三种结构类型,如“北京”是个单元数据,“北京,上海”是并列关系,用逗号隔开,所以是种序列,是种数组,而“首都:北京”中间用冒号的形式,它们是一种映射的关系,即所谓的对象。(并列逗号,映射冒号)

其实对象var a={"城市":"北京","面积":16800,"人口":1600};就是个关联数组,a["城市"]="北京";a["面积"]=16800;a["人口"]=1600;
关联数组也可以改成对象的形式(json格式),如var a["f"]=1 var b["m"]=2,就可以写成var ab={"f":1,"m":2}


在js中关联数组就是对象,对象就是关联数组。这一点与php语言完全不同,在php中,关联数组也是数组。



TAG:

 

评分:0

我来说两句

Open Toolbar