如何在JSON中使用JS变量?

bcm*_*cfc 2 jquery json

我正在尝试创建一个邮政编码查找JQuery脚本,该脚本可以在页面上多次使用,而不必为页面上的每个地址复制脚本.Find按钮有"postcodeLookup"类和属性"address",这就是我打算让脚本填充正确的地址(它使用JQuery Populate插件),输入名为address [line1],其中"address"是可变的(家[line1],办公室[line1]等).

问题是如何获取填充地址的JSON以使用变量内容而不是文字"地址"?

//postcode lookups
$(".postcodeLookup").click(function(){
    alert("I am The Postcode Finder...\nPretending to find the address...\nFound it!");
    var address = $(this).attr('address');
    $("form").populate({
        address: {
            line1: "First Line of Addr.",
            line2: "Line 2!",
            line3: "Line 3 of The Address",
            postcode: "PO1 1PO"
        }
    });
    $(".addressArea").slideDown('fast');
});
Run Code Online (Sandbox Code Playgroud)

Dav*_*und 6

var addrName = "office";
var address = {};

address[ addrName ] = {
   line1: "First line",
   line2: "Line 2..."
};

$("form").populate( address );
Run Code Online (Sandbox Code Playgroud)

现在,当addrName是office,这将是相同的写作

address['office'] = { }
Run Code Online (Sandbox Code Playgroud)

......反过来,与写作完全一样

address.office = { }
Run Code Online (Sandbox Code Playgroud)

而这一小部分知识将在javascript的各个方面都非常有用.

例如

for(var i = 0; i < 10; i++) {
    window['var' + i] = i;
}
Run Code Online (Sandbox Code Playgroud)

实际上将创建一个名为window对象(即公共变量)10个变量var0,var1,..., var9.

好的,所以这不是非常有用,但你明白了.