使用Javascript更新json文件中的json密钥?
我有一个JSON文件,我需要读取该JSON文件并用新值更新一个特定的键。如何在typescript文件中使用javascript来实现这一点 datafile.json:使用Javascript更新json文件中的json密钥?,javascript,node.js,json,typescript,Javascript,Node.js,Json,Typescript,我有一个JSON文件,我需要读取该JSON文件并用新值更新一个特定的键。如何在typescript文件中使用javascript来实现这一点 datafile.json: { "Id": { "place": { "operations": [{ "Name": "John", "Address": "USA" }] } } } 现在在我的test.t
{
"Id": {
"place": {
"operations": [{
"Name": "John",
"Address": "USA"
}]
}
}
}
现在在我的test.ts文件中
constfilepath='c:/datafile.json';
var testjson=filepath.Id[place][operations][0];
var mykey='地址';
//testjson[mykey]=“UK”;
updateJsonFile(文件路径,(数据)=>{
数据[mykey]=“英国”;
控制台日志(数据);
返回数据;
});
问题在于,它使用新的键和值更新JSON,如下所示:
{
"Id": {
"place": {
"operations": [{
"Name": "John",
"Address": "USA"
}]
}
"Address": "UK"
}
}
但我只想更改一个特定键的值,然后添加新键。在JS中可能吗?
数据
没有地址
属性,它的操作
,位于位置
内
如果你试着把它设置成
data[mykey]=“英国”;
它将为数据
创建一个新属性
应该是
o.Id.place.operations[0][mykey]=“UK”;
jsonString=`
{
“Id”:{
“地点”:{
“业务”:[{
“姓名”:“约翰”,
“地址”:“美国”
}]
}
}
}
`;
让o=JSON.parse(jsonString);
var mykey='地址';
o、 Id.place.operations[0][mykey]=“英国”;
主控台主任(o);
您确定这是您的代码生成的实际JSON吗?。该JSON无效,它缺少一个“,”before'”Address:“UK””值,如果它是由代码生成的,则不会发生这种情况。您不能获取文件的路径(这是一个字符串),并神奇地从中获取数据。您必须使用require(filepath)
或加载文件并使用JSON.parse()
加载它。这是否回答了您的问题?您的代码中还有其他问题,但这些问题并不重要,直到您获得数据并将其解析到内存中。嗨,我问过如何编辑JSON文件而不是console.log。我只是想知道如何更新json文件。顺便说一句,console.dir做什么?StackOverFlow在浏览器中运行,不可能执行文件操作,在演示中,实际答案是,使用“o.Id.place.operations[0][mykey]='UK';”而不是“data[mykey]='UK';”。提供了用于访问JSON works的代码。你可以用谷歌搜索console.dir的功能。