如何在JSON映射中指定键的值(在JavaScript中)?

时间:2011-07-19 13:26:58

标签: javascript json map key

我可能在这里使用了错误的术语,但这正是我想要做的。我想创建一个地图,其中包含每个键的值和每个键的对象的值。所以使用这段代码:

var myMap = {};
var keyVal = "abc";
var objVal = "123";
myMap.keyVal = objVal;

现在我想要返回的是一个看起来像{"abc":"123"}的JSON对象,而是返回{"keyVal":"123"}。如何让它使用键的实际变量内容而不是变量名? (或者我猜它根本不使用变量,只是将'keyVal'视为关键名称)

3 个答案:

答案 0 :(得分:7)

使用square bracket notation

myMap[keyVal] = objVal;

答案 1 :(得分:0)

        var datajson = JSON.parse(data);
        var keyArr = Object.keys(datajson);
        for ( var i = 0; i < keyArr.length; i++) {
            var val = datajson[keyArr[i]];
            }

答案 2 :(得分:-1)

var keyVal = "abc";
var objVal = "123";
eval("myMap." + keyVal + "='" + objVal + "'")

另一种选择,但 eval不推荐