Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在json对象中使用可变定义的键?_Javascript_Json_Rhino - Fatal编程技术网

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版本来说不是,但是我可以接受上面提供的答案。谢谢。