Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用字符串变量作为json对象名_Javascript_Jquery_Json - Fatal编程技术网

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

Javascript 使用字符串变量作为json对象名,javascript,jquery,json,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, fu

我有一个由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
     });
   }

谢谢你的帮助

TestObj.valkey
将在
TestObj
中查找键
valkey
,该键在您的情况下未定义,这就是您获得错误的原因

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

例:


虽然下面的答案从技术上回答了这个问题,但我想指出,这确实是非常基本的javascript。我强烈建议您在尝试解决类似问题之前先学习javascript。这个问题就像有人用C编写代码,问如何从指针中获取值
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
    });
}