如何在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]];
}
另一种选择,但不建议使用evalvar-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]];
}