使用字符串变量作为json对象名称

时间:2013-03-14 06:00:27

标签: javascript jquery json

我有一个由UI创建的动态字符串变量(valkey在下面的代码中),我想使用该变量作为JSON键从TestObj获取一个JSON对象的值。但尝试使用以下代码返回错误。

 var valkey=$('#cityfrm').val()+"_TO_"+$('#cityto').val();

 if($('#cityfrm').val()!="NIL" || $('#cityto').val()!="NIL")   
   {

    $.each(TestObj.valkey, function() { 
        var durn=this.duration;
        var prc=this.price;
        var curlegs=this.legs;
        // updating ui
     });
   }

我感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

TestObj.valkey会在valkey中查找密钥TestObj,这在您的情况下是未定义的,这就是您收到错误的原因。

如果要从变量中查找键,则需要使用语法TestObj[valkey]

例如:

var valkey=$('#cityfrm').val()+"_TO_"+$('#cityto').val();

if($('#cityfrm').val()!="NIL" || $('#cityto').val()!="NIL") {
    $.each(TestObj[valkey], function() { 
        var durn=this.duration;
        var prc=this.price;
        var curlegs=this.legs;
        // updating ui
    });
}