jquery JSON路径中的变量

k2fxgqgv  于 2022-12-12  发布在  jQuery
关注(0)|答案(3)|浏览(118)

我想把数据的路径包含在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";

但是绳子不起作用,所以没用。有人知道我怎么修吗?

p8h8hvxi

p8h8hvxi1#

要使用方括号表示法:

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

gev0vcfq2#

if (typeof(data.test[block]) != "undefined")
    var adr = data.test[block].db;
....
aoyhnmkz

aoyhnmkz3#

非常简单的解决方案。eval(“data.test."+block+".db”)

相关问题