我从AJAX调用获取JSON数据。因此,JSON数据的格式类似于 -
data[0].scores.sadness
所以,最后一部分'悲伤'是情绪之一。我总共有8种情绪。所以,我不想像 -
那样打印data[0].scores.sadness, data[0].scores.anger
所以,我创造了一个包含所有8种情绪的数组 -
var emotions = ['anger', 'contempt', 'disgust', 'fear', 'happiness', 'neutral', 'sadness', 'surprise'];
我正在使用Jquery动态创建很少的元素,而且每个元素都在其中。 jQuery的循环我将数组附加到JSON响应中,就像这样 -
var emotionPer = $('<div>')
.text(data[0].scores + "." + emotions[i])
.appendTo(li);
我面临的问题是,它正在打印[物体] [物体]。{情感名称}
例如 -
[object] [object].anger or [object] [object].sadness
有没有办法解释它像 -
data[0].scores.anger
所以,我可以获得上述价值。
答案 0 :(得分:3)
.text(data[0].scores[emotions[i]])
您可以通过两种方式访问对象内部键的值:
obj.key
obj["key"]
为什么您的方法不起作用
var obj = {"name":"void", "on":"stackoverflow"};
var key = "on";
obj.on // stackoverflow
obj["on"] // stackoverflow
obj.key // Will be undefined
obj[key] // will be stackoverflow.
我希望这是有道理的。