使用for in遍历json对象数据,如果数据中的名称有为数字的话,只对正整数有效,那么先会输出为正整数的数据,后面其他的会按照原来数据中定义的顺序不变输出。

  • 针对名称为数字的json对象数据进行测试,代码如下:
<script type="text/javascript">

 var json_obj_data =
{
"40":{"title":"all" , "name" :"all promotions" ,"id" :"all"},
"20":{"title":"best_room_rate" , "name" : "best room rate" , "id" : "best_room_rate"},
"10":{"title":"summer rate" , "name" : "summer rate" , "id" : "30"}
}
//40,20,10可以不加双引号括住,输出的结果是一样的 for(var data in json_obj_data){ alert(data);//10->20->40
} </script>
  • 针对名称为字符串的json对象数据进行测试,代码如下:
var json_data = {"3promotion":{"title":"all","room_promotion_id":"all"},
"2promotion":{"title":"best_room_rate","roompromotion_id":"best_room_rate"},
"1promotion":{"title":"Summer Room rate" , "room_promotion_id":"30"}
}; for(var promotion in json_data){
alert(promotion);//输出结果是按照上面定义的顺序
}
  • 针对名称为数字和字符串的json对象数据测试,代码如下:
var json_data = {"3promotion":{"title":"all","room_promotion_id":"all"},
"2promotion":{"title":"best_room_rate","roompromotion_id":"best_room_rate"},
"1":{"title":"Summer Room rate" , "room_promotion_id":"30"}
}; for(var promotion in json_data){
alert(promotion);//数据先输出的是名称为数字的,然后就按照顺序输出名称为字符串的
}

具有两个名称为数字的,其他为字符串的json对象数据测试,代码如下:

var json_data = {"3promotion":{"title":"all","room_promotion_id":"all"},
"2promotion":{"title":"best_room_rate","roompromotion_id":"best_room_rate"},
"1":{"title":"Summer Room rate" , "room_promotion_id":"30"},
"0":{"title":"expecial rate" , "room_promotion_id":"60"}
}; for(var promotion in json_data){
alert(promotion);//输出结果为0->1->3promotion->2promotion
}

具有名称为数字,其中有为负数的将会被当作字符串处理,其他为字符串的json对象数据测试,代码如下:

var json_data = {"3promotion":{"title":"all","room_promotion_id":"all"},
"2promotion":{"title":"best_room_rate","roompromotion_id":"best_room_rate"},
"1":{"title":"Summer Room rate" , "room_promotion_id":"30"},
"0":{"title":"expecial rate" , "room_promotion_id":"60"},
"-1":{"title":'demo3','room_promotion_id':"demo3"}
}; for(var promotion in json_data){
alert(promotion);//0->1->3promotion->2promotion->-1
}

包括小于1的数字名称,以及数字为负数的名称,代码测试如下:

var json_data = {"3promotion":{"title":"all","room_promotion_id":"all"},
"2promotion":{"title":"best_room_rate","roompromotion_id":"best_room_rate"},
"1":{"title":"Summer Room rate" , "room_promotion_id":"30"},
"0.25":{"title":"expecial rate" , "room_promotion_id":"60"},
"-1":{"title":'demo3','room_promotion_id':"demo3"}
}; for(var promotion in json_data){
alert(promotion);//1->3promotion->2promotion->0.25->-1
}

使用for in循环遍历json对象的数据的更多相关文章

  1. android JSONArray JSONObject 字符串转json数组 遍历json对象

    String json = "{''data'':[{''name'':''Wallace''},{''name'':''Grommit''}]}"; StringBuffer m ...

  2. 对于json对像,怎么遍历json对象的所有key,在使用json对象时,如果无法知道key,怎么通过key变量来获取值

    对于json对像,怎么遍历json对象的所有key,在使用json对象时,如果无法知道key,怎么通过key变量来获取值?请参阅下面的关键代码: <html> <head> & ...

  3. $.each()遍历Json对象

    1.遍历JavaScript数组对象: var json = [ //中括号起始 {"id":"1","tagName":"app ...

  4. JS 循环遍历JSON数据 分类: JS技术 JS JQuery 2010-12-01 13:56 43646人阅读 评论(5) 收藏 举报 jsonc JSON数据如:{&quot;options&quot;:&quot;[{

    JS 循环遍历JSON数据 分类: JS技术 JS JQuery2010-12-01 13:56 43646人阅读 评论(5) 收藏 举报 jsonc JSON数据如:{"options&q ...

  5. js遍历json对象

    原生js遍历json对象 遍历json对象: 无规律: <script> var json = [ {dd:'SB',AA:'东东',re1:123}, {cccc:'dd',lk:'1q ...

  6. javascript遍历json对象数据的方法

    JSON中,有两种结构:对象和数组,对象是没有length这个属性,而数组结构是有的,下面分别说下这两种结构之间的区别和遍历方式. 1.对象 一个对象以“{”开始,“}”结束.每个“key”后跟一“: ...

  7. coffeescript遍历json对象

    直接给代码: headers = a:"this is a" ,b:"this is b" ,c:"this is c" exheaders ...

  8. Vue之循环遍历Json数据,填充Table表格

    简单记一次Vue循环遍历Json数据,然后填充到Table表格中,展示到前端的代码: async getData(id) { const res = await this.$store.api.new ...

  9. JS/Jquery遍历JSON对象、JSON数组、JSON数组字符串、JSON对象字符串

    JS遍历JSON对象 JS遍历JSON对象 <script> var obj = { "goodsid": "01001", "goods ...

随机推荐

  1. spark 创建稀疏向量和矩阵

    http://blog.csdn.net/canglingye/article/details/41316193 [相互转换]:http://stackoverflow.com/questions/3 ...

  2. SQL数据库简单的建立与操作

    数据类型 符号标志 整数型 bigint,int,smallint,mediumint,tinyint 精确数值型 decimal,numeric 浮点型 float,real,double 位型 b ...

  3. 大型运输行业实战_day09_1_日期转换与My97DatePicker插件使用

    1.日期转换 1.1字符串类型转换成时间Date类型 /** * 给定字符串 转变 为 Date 类型 * @param date 时间 * @param format 时间格式 如:yyyy-MM- ...

  4. malloc、free、new、delete

    一.C语言中不定大小多维数组的处理: 如果要给二维数组(m*n)分配空间,代码可以写成下面: char **a, i; // 先分配m个指针单元,注意是指针单元 // 所以每个单元的大小是sizeof ...

  5. Linux配置Hadoop 常用的命令

    uname -a 看主机位数 ip a 看IP地址 vi /etc/sysconfig/network 改主机的名字 vi /etc/hosts 改映射关系 vi /etc/sysconfig/net ...

  6. 43. Multiply Strings (String)

    Given two numbers represented as strings, return multiplication of the numbers as a string. Note: Th ...

  7. 97. Interleaving String (String; DP)

    Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2. For example,Given:s1 = ...

  8. .net为图片添加水印(转) jpg png和gif格式

    .net为图片添加水印(转) jpg png和gif格式 .net为图片添加水印(转) jpg png和gif格式,转自csdn的hyde82,现在跟大家一起来分享下: 利 用.net中System. ...

  9. [leetcode]159. Longest Substring with At Most Two Distinct Characters至多包含两种字符的最长子串

    Given a string s , find the length of the longest substring t  that contains at most 2 distinct char ...

  10. 使用maven管理引入jdk1.8

    需要在配置文件settings.xml中加入: <profile> <id>jdk-1.8</id> <activation> <activeBy ...