原文地址: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

json和数组的区别的更多相关文章

  1. json 和 数组的区别

    json是javascript中的一种数据格式,类似于数组,但又不同于数组,区别在于下标: 例如,var obj=[a:15,b:10,c:3,d:8]: //这是json的写法 var  arr=[ ...

  2. JSON语法、对象、遍历数组的区别和基本操作

    JSON 语法规则 JSON 语法是 javascript 对象表示语法的子集. 数据在名称/值对中 数据由逗号分隔 花括号保存对象 方括号保存数组 JSON 名称/值对 JSON 数据的书写格式是: ...

  3. JSON数组,JSON对象,数组的区别与基本操作整理

    JSON 语法规则 JSON 语法是 javascript 对象表示语法的子集. 数据在名称/值对中 数据由逗号分隔 花括号保存对象 方括号保存数组 JSON 名称/值对 JSON 数据的书写格式是: ...

  4. iOS - 分析JSON、XML的区别和解析方式的底层是如何实现的(延伸实现原理)

    <分析JSON.XML的区别,JSON.XML解析方式的底层是如何实现的(延伸实现原理)> (一)JSON与XML的区别: (1)可读性方面:基本相同,XML的可读性比较好: (2)可扩展 ...

  5. JSON与XML的区别比较(转)

    原文链接:JSON与XML的区别比较 1.定义介绍 (1).XML定义扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以 ...

  6. JSON与JS的区别以及转换

    JSON是什么?(JSON和JavaScript对象有什么区别?)如何把JS对象转化为JSON字符串,又如何把JSON字符串转化为JavaScript对象? JSON (JavaScript Obje ...

  7. org.json与json-lib的区别(补充 FastJson)

    org.json 是JSON国际组织官方推出的标准json解析方案,已经被 android sdk 纳入到标准内置类库,依赖项少,但直至API17版本SDK中,仅支持JSONObject与JSONAr ...

  8. C++中关于[]静态数组和new分配的动态数组的区别分析

    这篇文章主要介绍了C++中关于[]静态数组和new分配的动态数组的区别分析,很重要的概念,需要的朋友可以参考下 本文以实例分析了C++语言中关于[]静态数组和new分配的动态数组的区别,可以帮助大家加 ...

  9. json在php中的使用之如何转换json为数组

    <?php $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}' ...

随机推荐

  1. MySQL自增序列-亲试ok

    #1.创建sequence表,公共的 DROP TABLE IF EXISTS sequence; CREATE TABLE sequence (      name VARCHAR(30) NOT ...

  2. RABC --权限控制解读

    一.基于RBAC的概念介绍 1.RBAC(Role-Based Access Control )基于角色的访问控制. 2.RBAC认为权限的过程可以抽象概括为:判断[Who是否可以对What进行How ...

  3. iOS分类底层实现原理小记

    摘要:iOS分类底层是怎么实现的?本文将分如下四个模块进行探究分类的结构体编译时的分类分类的加载总结本文使用的runtime源码版本是objc4-680文中类与分类代码如下//类@interfaceP ...

  4. liunx文件操作 文件压缩

    文件备份和压缩命令 在Linux中,常用的文件压缩工具有gzip,bzip2,zip. 'bzip2'是最理想的压缩工具,它提供了最大限度的压缩. 'zip'兼容好,windows也支持. bzip2 ...

  5. laravel5.5 调用系统自带登陆认证auth

    1执行命令 php artisan make:auth 2 编辑文件 config/auth guardes 'admin' => [ 'driver' => 'session', 'pr ...

  6. 公网IP被别人恶意解析的后果

    在网上看的一个案例,说是自己网站的IP被别的域名恶意解析了,恶意网站没有备案,IP地址为没有备案的域名提供了正常的网站服务,导致对应的IP也被封了. 检查方法:telnet xxx.me 80端口不通 ...

  7. Java容器解析系列(2) 具体化的第一步——Collection到AbstractCollection

    在通向具体化的List,Queue之前,我们需要先了解一下Collection接口和AbstractCollection抽象类,这两个都是处于Collection顶层的存在. Collection接口 ...

  8. 1) 嵌套的 div ,或者 ul ol .li 阻止冒泡 ,特别是 对应onclick="test(event)" 通过传递event 阻止 冒泡. cancelBubble , stopPropagation

    1 .html 结构: <ul class="ul_2 hide" data-first="5"> <li class="li_2& ...

  9. 入门项目 A1 start

    ''' 启动文件入口 ''' from core import src import os import sys # 拿到项目的路径 path = os.path.dirname(__file__) ...

  10. clearfix 用法

    如果有一个DIV作为外部容器,内部的DIV如果设置了float样式,则外部的容器DIV因为内部没有 clear,导致不能被撑开.看下面的例子:Div布局如下:Css代码如下:.out{border:1 ...