javascript - 迭代 json 时输出不一致

标签 javascript jquery json

set_options_list = function(selctelm, json){
    $(selctelm).empty();
    for ( key in json.array.F_02_0010){
        val = json.array.F_02_0010[key]
        console.log(key, typeof val, val[0], val[1]);
    };
}

这是我的 json 数组:

json.array = {F_02_0010 : [{0 : "-------"},
                      {1:"20億円以上"},
                      {2:"14億円以上20億円未満"},
                      {3:"7億円以上14億円未満"},
                      {4:"7000万円以上7億円未満"},
                      {5:"7000万円未満"}],

          F_02_0110 : [{0 : "-------"},
                      {1:"10億円以上"},
                      {2:"7億円以上10億円未満"},
                      {3:"4億円以上7億円未満"},
                      {4:"4000万円以上4億円未満"},
                      {5:"4000万円未満"}],

          F_02_0210 :[{0 : "-------"},
                      {1:"10億円以上"},
                      {2:"7億円以上10億円未満"},
                      {3:"4億円以上7億円未満"},
                      {4:"5000万円以上4億円未満"},
                      {5:"5000万円未満"}],
         "default": [{0 : "-------"}]
};

我在访问键和值时遇到未定义。可能是什么原因? 这是console.log结果:

0 object ------- undefined 
1 object undefined 20億円以上 
2 object undefined undefined 
3 object undefined undefined 
4 object undefined undefined 
5 object undefined undefined 

我不确定为什么我在这里变得未定义?

最佳答案

你可能想要这样:

json.array = {F_02_0010 : ["-------",
                      "20億円以上",
                      "14億円以上20億円未満",
                      "7億円以上14億円未満",
                      "7000万円以上7億円未満",
                      "7000万円未満"],

          F_02_0110 : ["-------",
                      "10億円以上",
                      "7億円以上10億円未満",
                      "4億円以上7億円未満",
                      "4000万円以上4億円未満",
                      "4000万円未満"],

          F_02_0210 :["-------",
                      "10億円以上",
                      "7億円以上10億円未満",
                      "4億円以上7億円未満",
                      "5000万円以上4億円未満",
                      "5000万円未満"],
         "default": ["-------"]
};

或者这样:

json.array = {F_02_0010 : {0 : "-------",
                      1:"20億円以上",
                      2:"14億円以上20億円未満",
                      3:"7億円以上14億円未満",
                      4:"7000万円以上7億円未満",
                      5:"7000万円未満"},

          F_02_0110 : {0 : "-------",
                      1:"10億円以上",
                      2:"7億円以上10億円未満",
                      3:"4億円以上7億円未満",
                      4:"4000万円以上4億円未満",
                      5:"4000万円未満"},

          F_02_0210 : {0 : "-------",
                      1:"10億円以上",
                      2:"7億円以上10億円未満",
                      3:"4億円以上7億円未満",
                      4:"5000万円以上4億円未満",
                      5:"5000万円未満"},
         "default": {0 : "-------" }
};

关于javascript - 迭代 json 时输出不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22528445/

相关文章:

jquery - 在 jquery 中检查至少一个复选框验证

java - 在解析 JSON 或 Web 服务响应时,为什么我们要在 Java 中显式转换?

javascript - ajax 请求的计时器

javascript - 如何使用 JSDoc 记录 CoffeeScript 源代码?

javascript - 添加新 <tr> 时如何使用 jquery 获得不同的时间?

jquery - 使用 jQuery 计算元素的宽度

ruby-on-rails - 如何在 Ruby/Rails 的 JSON 对象中创建未定义的值

android - 在 Android ListView 中显示来自 Json String 的数据

javascript - 如何将 foreach 变量从 Laravel Blade 传递到 JavaScript?

javascript - 在呈现 CollectionView 中的所有项目后是否会触发 Marionette.js 事件?