JSON路径中的变量
问题描述:
我想使包含在JSON变量中的数据的路径。 我的代码现在看起来像这样: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+"&";
});
});
}
“如果”部分我想利用可变“块”直接进入“ADR”路径,这样的事情简化,使其变,
var adr = "data.test."+block+".db";
但是一个字符串不起作用,所以它没用。有人知道我可以解决这个问题吗?
答
if (typeof(data.test[block]) != "undefined")
var adr = data.test[block].db;
....
的
可能重复[如何使用在像方括号点符号变量(http://*.com/questions/7102704/how-使用的变量式双点符号样方括号表示)。请同时理解[JSON与JavaScript对象]的区别(http://*.com/questions/8294088/javascript-object-vs-json/8294127#8294127) – Matt 2012-03-14 13:41:42