Javascript 如何在json对象中使用可变定义的键?
我在用犀牛。我想使用一个变量来定义映射的键,如下所示:Javascript 如何在json对象中使用可变定义的键?,javascript,json,rhino,Javascript,Json,Rhino,我在用犀牛。我想使用一个变量来定义映射的键,如下所示: var name = "Ryan"; var relationshipType = "brother"; var relatedName = "David"; var json = { "name": name, "relationships": { relationshipType: relatedName
var name = "Ryan";
var relationshipType = "brother";
var relatedName = "David";
var json = {
"name": name,
"relationships": {
relationshipType: relatedName
}
};
当我解析这个json键“relationshipType”时,它是文本而不是解析为“brother”的已定义变量。有什么想法吗
relationshipType未被解析为“brother”,如下输出所示:
{
"name": Ryan,
"relationships": {
relationshipType: David
}
};
你可以这样用
var name=“Ryan”;
var relationshipType=“兄弟”;
var relatedName=“David”;
var json={
“姓名”:姓名,
“关系”:{}
};
json[relationshipType]=relatedName;
console.log(json);
您可以而且应该这样做。文本对象语法不允许变量AFAIK。@Stephen D不,也许像这样,您需要定义空对象before@Alexander对于那些想知道什么对我有用的人,我只能运行最上面的示例。@Stephen D在回答时提到了第二个变体,如果你使用ES6。rhino支持吗ES6功能?@lvaroGonzález我想对于我正在使用的Rhino版本来说不是,但是我可以接受上面提供的答案。谢谢。