【发布时间】:2021-04-24 20:28:06
【问题描述】:
从一个带有值但没有键的 txt 文件中,我想将这些值添加到一个空的 json 文件中。我必须为每个值添加键,保存 json 文件并将 json 文件导出到新的 txt,这次使用键。
所以我有这个 json 文件
{ "agenda" : []
}
我有这个 txt 文件(所有假数据,以防你想知道):
"Fidel","Oltra","fidel@gmail.com","6650403234"
"Merxe","Sanz","merxe@gmail.com","65345235"
"David","Garcia","dgarcia@gmail.com","69823422"
"Amparo","López","alopez@gmail.com","67234234"
"Antonio","Gómez","antoniog@gmail.com","69929292"
我希望 json 文件看起来像
{
"agenda":[
{
"Name": "Fidel",
"Surname": "Oltra",
"Email": "fidel@gmail.com",
"Phone": 6650403234
},
{
...
},
...
]
}
我的这段代码可以正常工作,但我不知道如何正确推送数据,因为最终的 json 文件看起来不像预期的那样。
const archivo = require("fs");
const json = require("fs");
const file = archivo.readFileSync('agenda.txt', 'utf8');
console.log(file);
const lines = file.split('\n');
console.log(lines);
let campos;
let rawdata = json.readFileSync('agenda.json');
let json1 = JSON.parse(rawdata);
console.log(json1);
for (i in lines) {
campos = lines[i].split(",");
json1.agenda.push('Nombre:', campos[0]);
json1.agenda.push('Apellido:', campos[1]);
json1.agenda.push('Email:', campos[2]);
json1.agenda.push('Teléfono:', campos[3]);
console.log(campos);
console.log(json1);
};
let data = JSON.stringify(json1);
json.writeFileSync('agenda2.json', data);
当我打开它时的 json 是:
{"agenda":["Nombre:","\"Fidel\"","Apellido:","\"Oltra\"","Email:","\"fidel@gmail.com\"","Teléfono:","\"6650403234\"\r","Nombre:","\"Merxe\"","Apellido:","\"Sanz\"","Email:","\"merxe@gmail.com\"","Teléfono:","\"65345235\"\r","Nombre:","\"David\"","Apellido:","\"Garcia\"","Email:","\"dgarcia@gmail.com\"","Teléfono:","\"69823422\"\r","Nombre:","\"Amparo\"","Apellido:","\"López\"","Email:","\"alopez@gmail.com\"","Teléfono:","\"67234234\"\r","Nombre:","\"Antonio\"","Apellido:","\"Gómez\"","Email:","\"antoniog@gmail.com\"","Teléfono:","\"69929292\""]}
所以我想要一些帮助以使其正常工作并了解我做错了什么......并且还想知道如何将正确的最终 json 写回 txt 文件。
【问题讨论】:
-
将粘贴在输入中或将由服务接收的“假数据”?
-
抱歉,我好像没听懂问题
-
我在询问您放入上述脚本(文本文件)中的数据将始终是文本文件吗?永远不会改变?
-
是的,它将是一个文本文件
标签: javascript node.js json txt