原文地址:https://www.cnblogs.com/zhangjingyun/p/4554054.html
我们都知道,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