使用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. python Count类(转)

    1.collections模块 collections模块自Python 2.4版本开始被引入,包含了dict.set.list.tuple以外的一些特殊的容器类型,分别是: OrderedDict类 ...

  2. lnmp上传文件

    LAMP环境: Linux Mint 16 32bits xfce apache 2.4.6 Ubuntu php 5.5.3 默认www是/var/www,我用符号连接到了/home/tony/ww ...

  3. 安装Android模拟器

    说明:可以直接通过Android SDK目录下的SDK Manager.exe进行安装,我这里写的是通过下载各种文件进行安装的方法,没有通过SDK Manager.exe进行下载安装 一.下载以下内容 ...

  4. webdriver屏幕截图(python)

    webdriver对当前页面进行截图,截取的是当前页面的全图,不论页面有多长,有两种截图方法 1.get_screenshot_as_file(XXX) 2.save_screenshot(XXX) ...

  5. C#aspx页面前台使用<%=%>无法取到后台的值

    检查是不是有拼接问题,正常public和protected修饰的字段或属性均可使用<%=%>.另外,加载(Page_Load)时有没有给它们赋初始值? 答 1)前台页面只能调用本后置代码的 ...

  6. Cannot resolve class or package 'dbcp' Cannot resolve class 'BasicDataSource'

    在applicationContext.xml中配置数据源时,报错如下: Cannot resolve class or package 'dbcp' Cannot resolve class 'Ba ...

  7. Matlab中插值函数汇总(上)

    Matlab中插值函数汇总分上下两个部分,主要整合自matlabsky论坛dynamic发表于2009-2-21 21:53:26 的主题帖,以及豆丁网rickoon上传的教材第8章<插值,拟合 ...

  8. OAuth2.0 Owin 授权问题

    http://www.cnblogs.com/dudu/p/4569857.html OAuth2.0 一.什么是OAuth OAuth是一个关于授权(Authorization)的开放网络标准,目前 ...

  9. win7系统administrator用户提示没有管理员权限,造装驱动安装错误,软件无法使用

    警告1909.无法创建快捷方式 最近使用windows 7 32位安装软件,好多都失败.出现以上类似错误. 解决方法:在系统盘(C:)右键属性“安全”选项卡--“编辑”,添加“Everyone”设置为 ...

  10. linux下一些常用系统命令

    查看系统打开的文件数 lsof|wc -l 查看当前目录下的文件数 find -type f | wc -l 查看某个目录下的文件数,注意这里/home包括其所有子目录 find /home -typ ...