Javascript 动态JSON引用节点.js
我有一个JSON文件“jFile”,格式如下:Javascript 动态JSON引用节点.js,javascript,node.js,json,Javascript,Node.js,Json,我有一个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 = "Som
{
"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]),但我得到了各种新的和有趣的方式,它不起作用
我的问题是:
在您的示例中,您写道:
jFile.[testEnt]
正确的语法是:
jFile[testEnt]
您尝试动态访问和编辑对象属性的方式是正确的,但是您有一个小的语法错误。在您的示例中,您写道:
jFile.[testEnt]
正确的语法是:
jFile[testEnt]
您尝试动态访问和编辑对象属性的方式是正确的,但是您有一个小的语法错误。要使用var中的键更新对象,可以执行以下操作:
obj[varKey] = 'what you want';
根据您的需要:
var testEnt = 'Entry' + 1;
jFile[testEnt] = "SomeText";
fs.writeFileSync( "jFile.json", JSON.stringify(jFile, null, 2), "utf8");
要使用变量中的键更新对象,可以执行以下操作:
obj[varKey] = 'what you want';
根据您的需要:
var testEnt = 'Entry' + 1;
jFile[testEnt] = "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");
试试这个,它可能对你有帮助
var testEnt = 'Entry' + 1;
jFile[testEnt] = "SomeText";
fs.writeFileSync( "jFile.json", JSON.stringify(jFile, null, 2), "utf8");
您需要这样做:
const fs = require('fs');
const jFile = require('./jFile.json');
jFile.Entry1= "SomeText";
fs.writeFileSync( "jFile.json", JSON.stringify(jFile, null, 2), "utf8");
const testEnt = 'Entry' + 6;
jFile[testEnt] = "SomeText";
fs.writeFileSync( "jFile.json", JSON.stringify(jFile, null, 2), "utf8");
这里的要点是:jFile[testEnt]=“SomeText”代码>
输出:
{
"Entry1": "SomeText",
"Entry2": "SomeValue",
"Entry6": "SomeText"
}
您需要这样做:
const fs = require('fs');
const jFile = require('./jFile.json');
jFile.Entry1= "SomeText";
fs.writeFileSync( "jFile.json", JSON.stringify(jFile, null, 2), "utf8");
const testEnt = 'Entry' + 6;
jFile[testEnt] = "SomeText";
fs.writeFileSync( "jFile.json", JSON.stringify(jFile, null, 2), "utf8");
这里的要点是:jFile[testEnt]=“SomeText”代码>
输出:
{
"Entry1": "SomeText",
"Entry2": "SomeValue",
"Entry6": "SomeText"
}