This question already has an answer here:
Accessing a JSON property (String) using a variable
                                
                                    (1个答案)
                                
                        
                5年前关闭。
            
        

我想在JavaScript中使用字符串作为JSON属性。

var knights = {
         'phrases': 'Ni!'
};

var x = 'phrases';

console.log(knights.x);         // Doesn't log "Ni!"


当我运行此代码时,它显然不起作用,因为它解释为“ x”,而不是变量“ x”的内容。

pastebin上上下文中的完整代码:http://pastebin.com/bMQJ9EDf

有一个简单的解决方案吗?

最佳答案

knights.x查找一个名为x的属性。您需要knights[x],它等效于knights['phrases'] == knights.phrases

完整代码(在示例中修正了两个拼写错误):

var knights = {
         "phrases": "Ni!"
};

var x = 'phrases';

console.log(knights[x]); // logs Ni!

10-07 14:34