这是我的nodeJs程序中的代码片段。我有一张名为transMap的地图。我想读取yy的值,得到“ipaddress”并将其作为json及其值传递出去。我原以为json的反应是{ "ipaddress" : "http://derivedURL.com"}
。但我得到的是{ arg : "http://derivedURL.com"}
我遗漏了一些非常基本的东西。
var transMap = new Map();
transMap.set('xx', {rPath:'/xxs', sn:2,res:['rid']});
transMap.set('yy', {rPath:'/yys', sn:3, res: ['ipaddress','dns']});
transMap.set('zz', {rPath:'/zzs', sn:4, res:['uri', 'fqdn']});
var arg = (transMap.get(yy)).res[0] ; //arg = ipaddress
var jsonResponse = { arg : "http://derivedURL.com"};
console.log(jsonResponse); //
Edit1:arg必须获取从transMap获取的“ipaddress”的值。派生的URL源自对此讨论无关的不同功能。
我的控制台现在显示为:{ arg : "http://derivedURL.com"}
。但我希望它能阅读{ "ipaddress" : "http://derivedURL.com"}
答案 0 :(得分:2)
当你这样做时:
var jsonResponse = {
arg : 'someArg'
}
arg
无法评估其值。相反,它被用作'arg'本身。要评估它的值,可以这样设置:
jsonResponse[arg] = 'someArg'
使用[]
表示法时,密钥(此处为arg
)始终会在范围内进行评估。