【问题标题】:Variable in JSON pathJSON路径中的变量
【发布时间】:2012-03-14 13:39:08
【问题描述】:

我想创建 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";

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

【问题讨论】:

标签: javascript jquery


【解决方案1】:

你想使用square bracket notation:

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

【讨论】:

    【解决方案2】:
    if (typeof(data.test[block]) != "undefined")
        var adr = data.test[block].db;
    ....
    

    【讨论】:

      猜你喜欢
      • 2019-11-03
      • 2022-01-02
      • 2020-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-15
      • 1970-01-01
      相关资源
      最近更新 更多