Javascript 使用json语法左侧的变量

Javascript 使用json语法左侧的变量,javascript,json,github,github-api,gist,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.t

我正在使用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_文件名:{“content”:……}; 但实际上,gist是用名称
gist\u filename
创建的,而不是变量中的实际名称,即
main.txt

虽然赋值在右边,例如,“content”:gist\u content给了我存储在变量gist\u content中的正确内容

任何可能的建议。我不太懂json。 谢谢

请参见,您需要首先创建对象,然后使用
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
}

你不能那样做。它不会是JSON。
var data={..
位是JavaScript(JSON是JavaScript对象文字语法的一个子集)。无论如何,我想说的是:这个问题在编写时没有什么意义。更多的上下文可能会有帮助。可能是重复的而不是“file.txt”。我只想让我的变量在那里工作。我尝试了
var gname={};gname[gist_filename]=gist_filename',然后放入
gname:{“contents”:gist_content}`。它不起作用,随时:)-请选择它作为正确答案好吗?