Tengo el siguiente users.json
archivo:
[
{
"name": "John",
"surname": "A",
"number": 3
}
]
Me gustaría agregar un nuevo elemento a este archivo, por ejemplo:
[
{
"name": "John",
"surname": "A",
"number": 3
},
{
"name": "Mike",
"surname": "B",
"number": 7
}
]
Soy nuevo en NodeJS/TypeScript, así que no puedo hacerlo. Pensé en una solución similar a esta:
import json from "./users.json"
export type User = {
name: string,
surname: string,
number: number
};
export function add_user(new_user: User) {
let number_of_elements = Object.keys(json).length;
json[number_of_elements] = new_user;
}
Sé que esto está mal, pero no puedo entender cómo hacerlo. ¿Me puedes ayudar? Gracias a todos.
Lo que desea hacer aquí es simplemente agregar un elemento a una matriz, considerando que Usuario es el tipo de su matriz.
Puede obtener la matriz de su archivo utilizando los métodos stringify y parse.
Entonces, lo que puede hacer simplemente es declarar una matriz de tipo Usuario y agregar los elementos a la matriz con el método push y luego reformatearlo como objeto JSON:
export type User =
{
name: string,
surname: string,
number: number
};
let userArray Array<User> = JSON.parse(JSON.stringify(json))
export function add_user(new_user: User) {
userArray.push(new_user);
}
//use the fonction like this :
add_user({
"name": "John",
"surname": "A",
"number": 3
});
add_user({
"name": "Mike",
"surname": "B",
"number": 7
});
Si su archivo está almacenado localmente, tendrá que volver a escribirlo usando fs.writeFile :
const fs = require('fs');
try
{
fs.writeFile(pathToYourFile, JSON.stringify(JSON.parse(userArray), function(err: any){
if(err) return console.log(err);
});
}
catch(err)
{
console.error(err);
}
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras