7
回答
IE8和火狐不支持eval后获取其中子对象
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

"equipments" : [
        {
            "value" : 200
        },
          {
            "value" : 20
        }
    ]

是一个json数组,我在IE7及其它版本都可以使用json["equipments"]方法,如果使用IE8和火狐则在此处报错,说没有undefined

大家帮忙看下哦

举报
allen_limi
发帖于6年前 7回/2K+阅
共有7个答案 最后回答: 6年前
<script type="text/javascript">
    window.onload = function(){
        var json = {
            "equipments" : [{
                "value" : 200
            },{
                "value" : 20
            }
            ]
        };
        //alert(json.equipments);
        alert(json["equipments"]);
   
    }

  </script>

不大明白你啥意思,你能不能把代码上全一点啊...

引用来自“designer”的答案

<script type="text/javascript">
    window.onload = function(){
        var json = {
            "equipments" : [{
                "value" : 200
            },{
                "value" : 20
            }
            ]
        };
        //alert(json.equipments);
        alert(json["equipments"]);
   
    }

  </script>

不大明白你啥意思,你能不能把代码上全一点啊...

{
    "info" : {
        "type" : 0,
        "id" : 2
    },
    "equipments" : [
        {
            "value" : 200
        },
        {
            "value" : 113
        },
        {
            "value" : 84
        }
    ],
    "generals" : [
        {
            "nums" : 0
        }
    ]
}

$.getJSON("getJsonInfo.html",function(json) {

var type=json["info"].type;//这行都正常

var equObj=eval(json["equipments"]);//这行报错,说json["equipments"]未定义

}

引用来自“大大”的答案

getJson已经返回的是json了啊,在 eval当然没了

但是这样写:

var equObj=json["equipments"];或者var equObj=json.equipments;

都报错

顶部