在json语法的左侧使用变量

时间:2013-07-01 21:14:30

标签: javascript json github github-api gist

我正在使用javascript / ajax创建一个github-gist。

我想提供自己的文件名。以下是json中的数据。

var data = {
  "description": gist_description,
  "public": true,
  "files": {
    "file.txt" : {
       "content": gist_content
     }
  }
};

我写了var gist_filename =“main.txt”;

我用变量名替换了“file.txt”,即gist_filename:{“content”:......}; 但实际上,要点是使用名称gist_filename创建的,而不是变量中的实际名称,即main.txt

虽然在右侧分配,例如“content”:gist_content正在给我存储在名为gist_content的变量中的正确内容。

任何可能的建议。不太了解json。 谢谢!

1 个答案:

答案 0 :(得分:2)

请参阅this answer,您需要先创建对象,然后使用my_obj[x] = y语法为变量指定一个键。

你的情况

var gist_description = "desc...",
    gist_content = "content...";
var data = {
  "description": gist_description,
  "public": true,
  "files": {
  }
}
var filename = "myfile.txt";
data["files"][filename] = {
    "content": gist_content
}