原文地址: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. tomcat服务器-谷歌等浏览器-加载本地图片等资源-报not allowed to load local resource的错误解决办法。

    把文件存放路径目录映射到tomcat中,方法如下: 1.找到tomcat的配置文件(\conf\server.xml)并打开 2.在[host]与[/host]之间加入如下代码:[<Contex ...

  2. Electron "jQuery/$ is not defined" 解决方法

    参考问题:https://stackoverflow.com/questions/32621988/electron-jquery-is-not-defined <!-- Insert this ...

  3. scp ssh-key连接原理

    scp ssh-key连接原理   如何关闭位置解析 vim手动打开ssh的配置文件修改81行和122行,位置解析需要双方都关闭      注意重点部分   ssh特别提醒   22端口信息   连接 ...

  4. Oracle获取当前年、月、日的方法

    Oracle获取当前年.月.日的方法 Oracle 获取当前年.月.日 1.//oracle中extract()函数从oracle 9i中引入,用于从一个date或者interval类型中截取到特定的 ...

  5. OC学习笔记

    备注:这里只是个人的观点,有的地方也是copy,多多指教,个人笔记,有侵犯你们版权的地方还望海涵!!! ARC单例模式的实现 使用alloc方法初始化一个类的实例的时候,默认是调用了 allocWit ...

  6. eclipse工具类及插件(svn的安装)

    (摘抄原文)https://blog.csdn.net/nzzl54/article/details/80768838

  7. 搭建数据驱动框架第一步-实现一个构造函数,将对Excel文件的基本操作API都封装进去

    Python处理Excel常用操作就是读和写,我的需求是需要在原excel文件中进行读写操作.共用到了两个模块xlrd和openpyxl,这两个模块都是需要自己去安装的.openpyxl只能用来处理 ...

  8. SQL注入之Sqli-labs系列第三十六关(基于宽字符逃逸GET注入)和三十七关(基于宽字节逃逸的POST注入)

    0X1 查看源码 function check_quotes($string) { $string= mysql_real_escape_string($string); return $string ...

  9. ipv4-only网络环境下访问ipv6站点

    使用6plat.org+openVPN(无需资金投入)进入ipv6网络 这里我们主要使用的是6plat.org提供的“46模块——IPv4到IPv6”功能,需要配合openVPN这个软件,支持wind ...

  10. gitlab 同步小脚本

    gitlab 是公司中的代码仓库,如何保证两台机器同步呢 公司中使用的是docker那么久使用docker进行演示了也方便以后的工作查找资料 附:脚本 #!/bin/bash docker stop ...