原文地址: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. MVC实战之排球计分(五)—— Controller的设计与实现

    控制器 控制器接受用户的输入并调用模型和视图去完成用户的需求.所以当单击Web页面中的超链接和发送HTML表单时, 控制器本身不输出任何东西和做任何处理.它只是接收请求并决定调用哪个模型构件去处理请求 ...

  2. JavaScript中的label语句,及应用

    label语句:可以在代码中添加标签,以便将来使用. 语法:label : statement 示例: start: for(var i=0;i<10;i++){ console.log(i); ...

  3. 解决import caffe 时no module named protobuf的报错

    ProtoBuf是Google开发的可以实现内存与非易失存储介质(硬盘文件等等)交换时的协议接口.Caffe源码中大量使用了ProtoBuf作为权值和模型参数的载体. 在Anaconda下打开Anac ...

  4. 记不住的Android活动的生命周期

    Activity基类定义了管理一个互动的生命周期的一系列事件. Activity生命周期的一系列事件onCreate()——当前活动首次被创建时使用.onStart()——当前活动对用户可见时调用.o ...

  5. 如何 distinct 只对一个字段有用,同时查出其他字段

    转至:http://blog.csdn.net/u013402772/article/details/51262524 在使用MySQL时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有d ...

  6. linux下read命令详解

    要与Linux交互,脚本获取键盘输入的结果是必不可少的,read可以读取键盘输入的字符. read [-rs] [-a ARRAY] [-d delim] [-n nchars] [-N nchars ...

  7. ThinkPHP5模型操作中的自动时间戳总结

    ThinkPHP5中提供了非常优秀的自动时间戳功能.使用起来非常方便. 但是官网手册中的说明还是不是很详尽,因此整理再次,以方便后续使用时查阅. 一.一般情况下的自动填充create_time,upd ...

  8. 通过pid杀死进程

    bool ****::KillProcess(DWORD pid) { // When the all operation fail this function terminate the " ...

  9. C# 引用类型公共变量的影响

    public int[] a =new int[2]; private void button1_Click(object sender, EventArgs e) { bing(a); } priv ...

  10. seajs引入jquery框架问题

    seajs引入jquery框架时出现的问题 原因:由于seajs是遵循cmd规范,而jquery是遵循amd规范,所以在seajs调用jquery框架时,需要将amd转换为cmd 转换方法:jquer ...