我想建立JSON变量中包含的数据的路径。
我现在的代码如下所示:

function writeDB(block)
{
  $.getJSON('js/data.js', function(data) {

    if (block == "path1") { var adr = data.test.path1.db; };
    if (block == "path2") { var adr = data.test.path2.db; };
    if (block == "path3") { var adr = data.test.path3.db; };

    var datastring="";
    $.each(adr, function(i, field){
      temp = encodeURIComponent($("#writeDB_"+block+" [name="+adr[i].abc+"]").val());
      datastring += adr[i].abc+"="+temp+"&";
    });

  });

}

我想简化“if”部分并将其变为变量,方法是将变量“block”直接使用到“adr”路径中,如下所示
var adr = "data.test."+block+".db";

但是字符串不起作用,因此它没有用。有人知道我该如何解决?

最佳答案

您要使用square bracket notation:

var adr = data.test[block].db;

10-07 17:36