Javascript 如何更新node.js中的json条目
如何使用node.js更新json值?我在互联网上找到了一些例子,但我的例子有点复杂 我可以打开我想要更改的值Javascript 如何更新node.js中的json条目,javascript,json,node.js,Javascript,Json,Node.js,如何使用node.js更新json值?我在互联网上找到了一些例子,但我的例子有点复杂 我可以打开我想要更改的值 var contents = fs.readFileSync("./../../skill.json"); var jsonContent = JSON.parse(contents); console.log("Address", jsonContent['manifest']['apis']['custom']['endpoint']['uri']); 但是如何用我的值编辑它呢?
var contents = fs.readFileSync("./../../skill.json");
var jsonContent = JSON.parse(contents);
console.log("Address", jsonContent['manifest']['apis']['custom']['endpoint']['uri']);
但是如何用我的值编辑它呢?var contents = fs.readFileSync("./../../skill.json");
var jsonContent = JSON.parse(contents);
console.log("Address", jsonContent['manifest']['apis']['custom']['endpoint']['uri']);
// modify your value
jsonContent['manifest']['apis']['custom']['endpoint']['uri'] = 'new value';
// stringify it and write to file
fs.writeFileSync("./../../skill.json", JSON.stringify(jsonContent));
和[]
)访问对象的值jsonContent['manifest']['apis']['custom']['endpoint']['uri'] = 'value';
甚至:
jsonContent.manifest.apis.custom.endpoint.uri = 'value';
也就是说,我建议至少在
try catch
块中包装赋值,这样,如果对象与预期接收的结构不匹配,就不会发生崩溃
一个更强大、更通用的解决方案是利用。例如:
_.set(jsonContent, ['manifest', 'apis', 'custom', 'endpoint', 'uri'], 'value');
正如@Patrick Roberts所指出的,现代JavaScript将允许利用。这目前仅在中提供
- JavaScript中的赋值是通过
- 可以通过(
和
)访问对象的值[]
jsonContent['manifest']['apis']['custom']['endpoint']['uri'] = 'value';
甚至:
jsonContent.manifest.apis.custom.endpoint.uri = 'value';
也就是说,我建议至少在
try catch
块中包装赋值,这样,如果对象与预期接收的结构不匹配,就不会发生崩溃
一个更强大、更通用的解决方案是利用。例如:
_.set(jsonContent, ['manifest', 'apis', 'custom', 'endpoint', 'uri'], 'value');
正如@Patrick Roberts所指出的,现代JavaScript将允许利用。这目前仅在中提供
可能重复的可能重复使用当前的第1阶段建议,您可以安全地更新嵌套属性,如
\.set()
does;使用可选的链接运算符:jsonContent?.manifest?.api?.custom?.endpoint?.uri='value'
@PatrickRoberts这是当前阶段1提案的有效点,您可以安全地更新嵌套属性,如\uU2.set()
使用可选的链接运算符:jsonContent?.manifest?.API?.custom?.endpoint?.uri='value'代码>@PatrickRoberts,这是一个有效点