【发布时间】:2020-09-23 18:37:03
【问题描述】:
我有一个 JSON 文件,我需要读取该 JSON 文件并使用新值更新特定键。我怎样才能在打字稿文件中的 javascript 的帮助下做到这一点?
数据文件.json:
{
"Id": {
"place": {
"operations": [{
"Name": "John",
"Address": "USA"
}]
}
}
}
现在在我的 test.ts 文件中
const filepath = 'c:/datafile.json';
var testjson = filepath.Id[place][operations][0];
var mykey = 'Address';
//testjson[mykey] = 'UK';
updateJsonFile(filepath, (data) => {
data[mykey] = 'UK';
console.log(data);
return data;
});
问题在于它使用新的键和值更新 JSON,如下所示:
{
"Id": {
"place": {
"operations": [{
"Name": "John",
"Address": "USA"
}]
}
"Address": "UK"
}
}
但我只想更改特定键的值,然后添加新键。 JS中可以吗?
【问题讨论】:
-
您确定它是您的代码生成的实际 JSON 吗?该 JSON 无效,在 '"Address": "UK"' 值之前缺少一个 ',',如果它是由代码生成的,则不会发生这种情况。
-
您不能获取文件的路径(这是一个字符串),然后神奇地从中获取数据。你必须加载它,要么使用
require(filepath),要么加载文件并使用JSON.parse()。 -
您的代码中还有其他问题,但在您获取数据并将其解析到内存之前,这些问题并不重要。
标签: javascript node.js json typescript