javascript - 如何在 json 对象中使用可变定义的键?

标签 javascript json rhino

我正在使用犀牛。我想使用变量来定义 map 的键,如下所示:

var name = "Ryan";
var relationshipType = "brother";
var relatedName = "David";

var json = {
                "name": name,
                "relationships": {
                    relationshipType: relatedName
                }
           };

当我解析这个 json 时,键“relationshipType”,它是文字而不是解析为“兄弟”的定义变量。有什么想法吗?

“relationshipType 未被解析为“兄弟”,如下面的输出所示:

{
    "name": Ryan,
    "relationships": {
         relationshipType: David
    }
};

最佳答案

您可以使用 bracket notation , 像这样

var name = "Ryan";
var relationshipType = "brother";
var relatedName = "David";

var json = {
  "name": name,
  "relationships": {}
};

json[relationshipType] = relatedName;

console.log(json);

如果你会使用ES6语法那么你就可以像这样解决这个问题

var name = "Ryan";
var relationshipType = "brother";
var relatedName = "David";

var json = {
  "name": name,
  "relationships": {
    [relationshipType]: relatedName
  }
};

Example

关于javascript - 如何在 json 对象中使用可变定义的键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33654619/

相关文章:

javascript - 如何将 jQuery this 与 .on 函数和 .each 函数一起使用

javascript - 如何在新页面启动时添加加载栏,直到所有数据完全加载?

javascript - 在 CardAction BotBuilder 中检测按钮按下情况

javascript - 使用 Struts 2.2.x 的简单 JSON 示例?

javascript - Rhino - 有没有办法在不重新解析代码的情况下将修改后的 AST 恢复为原始 AST?

java - 使用RhinoScriptEngine,如何更改javascript关键字 "this"所指的内容?

javascript - 任何人都可以帮助我使用以下 JScript 吗?

arrays - 如何通过 JSON 将数组从 php 解压到 Swift 中

javascript - 无法使用 jquery 发布带有 json 的帖子

java - Rhino:如何将 Java 对象传递给脚本,其中可以引用为 "this"