如何通过字符串名称访问javascript对象字段,为javascript访问getDeclaredField

时间:2014-02-08 13:38:28

标签: javascript jquery json

我想参数化我的javascript例程,所以我可以从我的JSON界面返回的列表中传递我想用来填充的字段名称。 即,我想将我的getRoutes()函数(下面)转换为getTable(),并传递表名“Routes”和我希望它使用的字段“routeId”。 “路由”显然不是问题,因为它只是传递给我的JSON api,但是如何将“routeId”放入代码? java有像getDeclaredField这样的东西,javascript是什么用的?我认为这是getValue,如

    items.push("<option>" + val.getValue(keyName) + "</option>");

但是没有用。

这是我想要概括的原始工作代码,

function getRoutes(){
    $.getJSON( "/GeeREST/Entity?entity=Routes", 
        function( data ) {
        var items = [];

        $.each( data, function( key, val ) {
            items.push("<option>" + val.routeId  + "</option>");
        });
    ...

这就是我想要做的事情

function getTable(tableName,keyName){
    $.getJSON( "/GeeREST/Entity?entity="+tableName, 
            function( data ) {
            var items = [];

            $.each( data, function( key, val ) {
                items.push("<option>" + val.getValue(keyName)  + "</option>");
            });
 ...

1 个答案:

答案 0 :(得分:1)

这是一个简单的解释:

var a = { 'b':1,'c':2};
$.each( a, function(key,val) {
   console.log(key,val,a[key]);
});
// Outputs:
// b 1 1
// c 2 2

所以基本上val等于[key],key是我们迭代的对象的关键, 所以在你的情况下你应该使用val [keyName]。