首页 > 解决方案 > 动态 JSON 参考 Node.js

问题描述

我有一个 JSON 文件“jFile”,格式如下:

{
  "Entry1": null,
  "Entry2": "SomeValue"
}

以下格式的一些 node.js 正确更新了文件:

jFile.Entry1= "SomeText";
fs.writeFileSync( "jFile.json", JSON.stringify(jFile, null, 2), "utf8");

但是,如果我这样做:

var testEnt = 'Entry' + 1;
jFile.testEnt = "SomeText";
fs.writeFileSync( "jFile.json", JSON.stringify(jFile, null, 2), "utf8");

该脚本运行没有错误,但从不更新“Entry1”。我尝试以几种方式引用它(例如 jFile.[testEnt]),但我得到了各种新的和有趣的方式它不起作用。

我的问题是:

  1. 为什么?我知道脚本不理解“testEnt”没有正确理解我现在的意思是作为参考,而不是字符串,但我不明白我能做些什么。
  2. 如何以这种方式动态引用条目?我想让脚本灵活,但似乎无法找到有关如何执行此操作的信息。

标签: javascriptnode.jsjson

解决方案


在您的示例中,您写道:

jFile.[testEnt]

正确的语法是:

jFile[testEnt]

您尝试动态访问和编辑对象属性的方式是正确的,但是您遇到了轻微的语法错误。


推荐阅读