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

如何在JSON映射(JavaScript)中指定键的值?,javascript,json,map,key,Javascript,Json,Map,Key,我可能在这里使用了错误的术语,但这正是我想要做的。我想创建一个贴图,每个关键点都有一个值,每个关键点的对象都有一个值。因此,使用此代码: var myMap = {}; var keyVal = "abc"; var objVal = "123"; myMap.keyVal = objVal; 现在我要返回的是一个JSON对象,它看起来像{“abc”:“123”},但它返回{“keyVal”:“123”}。如何让它使用键的实际变量内容而不是变量名?(或者我猜它根本没有使用变量,只是将“keyV

我可能在这里使用了错误的术语,但这正是我想要做的。我想创建一个贴图,每个关键点都有一个值,每个关键点的对象都有一个值。因此,使用此代码:

var myMap = {};
var keyVal = "abc";
var objVal = "123";
myMap.keyVal = objVal;
现在我要返回的是一个JSON对象,它看起来像
{“abc”:“123”}
,但它返回
{“keyVal”:“123”}
。如何让它使用键的实际变量内容而不是变量名?(或者我猜它根本没有使用变量,只是将“keyVal”作为键名)

使用:

使用:

另一种选择,但不建议进行评估

        var datajson = JSON.parse(data);
        var keyArr = Object.keys(datajson);
        for ( var i = 0; i < keyArr.length; i++) {
            var val = datajson[keyArr[i]];
            }
另一种选择,但不建议使用eval

var-datajson=JSON.parse(数据);
        var datajson = JSON.parse(data);
        var keyArr = Object.keys(datajson);
        for ( var i = 0; i < keyArr.length; i++) {
            var val = datajson[keyArr[i]];
            }
var keyArr=Object.keys(datajson); 对于(变量i=0;i
var-datajson=JSON.parse(数据);
var keyArr=Object.keys(datajson);
对于(变量i=0;i
如果键是变量且未知,您将如何访问它的值?如果键是变量且未知,您将如何访问它的值?
eval(“myMap.”+keyVal)
可能返回
未定义的
,并且在您使用它的上下文中会导致无效的左手赋值错误。你想写的是
eval(“myMap.+keyVal+”=“+objVal+””)
,但出于不同的原因,这也是错误的。Oops yes eval(“myMap.+keyVal+”=“+objVal+””)是正确的语法
eval(“myMap.+keyVal)
可能返回
未定义的
,并且在您使用左手赋值的上下文中会导致无效的左手赋值错误。你想写的是
eval(“myMap.+keyVal+”=“+objVal+””)
,但出于不同的原因,这同样是错误的。哦,是的,eval(“myMap.+keyVal+”=“+objVal+””)是正确的语法。请参考文档以格式化答案。这将对你未来的回答非常有帮助。格式更好的答案接受率更高。请参阅文档以了解答案的格式。这将对你未来的回答非常有帮助。格式较好的答案接受率较高。
        var datajson = JSON.parse(data);
        var keyArr = Object.keys(datajson);
        for ( var i = 0; i < keyArr.length; i++) {
            var val = datajson[keyArr[i]];
            }