我们都知道,json和数组一样,都可以存数据,但是下面我们来总结一下json和数组的区别。
<!doctype html><html lang="en"><head><meta charset="UTF-8"><title>json</title><script type="text/javascript">var json={a:12,b:5,c:7};var arr=[12,5,7];
alert(json.a);
alert(arr[0]);</script></head><body></body></html>
我们知道任何.都可以用[]代替,于是
<!doctype html><html lang="en"><head><meta charset="UTF-8"><title>json</title><script type="text/javascript">var json={a:12,b:5,c:7};var arr=[12,5,7];
alert(json['a']);
alert(arr[0]);</script></head><body></body></html>
于是,得出结论,json与数组的第一个区别,json的下标与数组的下标不一样,json的下标是字符串,数组的下标是数字。
同时,我们也知道,数组,有length;但是我们求json的数组的时候,发现,undefined,即,json没有length属性,那如何求json的length;
我们知道数组的循环有两种方法(1)
<!doctype html><html lang="en"><head><meta charset="UTF-8"><title>json</title><script type="text/javascript">var json={a:12,b:5,c:7};var arr=[12,5,7];for(i=0;i<arr.length;i++){
alert('第'+i+'个东西'+arr[i]);
}</script></head><body></body></html>
但这种方法,因为json没有length,所以只能是放弃了
数组的另外一种方法循环(2)
for in循环
<!doctype html><html lang="en"><head><meta charset="UTF-8"><title>json</title><script type="text/javascript">var json={a:12,b:5,c:7};var arr=[12,5,7];for(var i in arr){
alert('第'+i+'个东西:'+arr[i]);
}</script></head><body></body></html>
可见,这里并没有出现length,那这种方法我们使用到json里试试。
<!doctype html><html lang="en"><head><meta charset="UTF-8"><title>json</title><script type="text/javascript">var json={a:12,b:5,c:7};var arr=[12,5,7];for(var i in json){
alert('第'+i+'个东西:'+json[i]);
}</script></head><body></body></html>
建议:
关于循环
数组:for 0-len
json: for in