¿Agregar un nuevo elemento en el archivo JSON en TypeScript/NodeJS?

pila de preguntas

Tengo el siguiente users.jsonarchivo:

[
    {
        "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.

liguepk

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

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Cómo agregar un nuevo elemento en un archivo srt

¿Cómo agregar un nuevo diccionario en un archivo json existente con el diccionario?

Flutter Listview duplica el elemento aleatorio en lugar de agregar un nuevo elemento en nuevos datos

Flutter Listview duplica el elemento aleatorio en lugar de agregar un nuevo elemento en nuevos datos

El formulario de envío reemplaza el último elemento en lugar de agregar un nuevo elemento

¿Cómo puedo agregar un elemento completamente nuevo (usando ElementTree en Python) a un archivo XML?

Agregar un evento onclick a un nuevo elemento html solo funciona en el último elemento

Escribir un archivo nuevo y agregar un archivo en PHP sin borrar el contenido

Agregar nuevo elemento en el selector en SwiftUI

Agregar un bit nuevo en el paquete

¿Cómo puedo agregar un nuevo elemento a una matriz y actualizar la matriz con el nuevo elemento en F #?

cómo agregar un elemento en el archivo json que se encuentra en una máquina remota

Cómo agregar un nuevo archivo jar a un jar implementado existente en el servidor

agregar un nuevo elemento en el objeto de colección laravel

PHP: ¿agregar un nuevo elemento en la matriz usando el bucle for?

Agregar un nuevo elemento a un diccionario en Python

Agregar un nuevo elemento a un diccionario anidado en python

No se puede crear un nuevo elemento de color en el archivo colors.xml

Agregar un salto de línea después de cada elemento de la lista de Python en el archivo json

¿Cómo agregar un nuevo elemento en python LIST/DICT?

Agregar un nuevo elemento raíz para xml en Java

KendoUI Grid con MultiSelect, agregar un nuevo elemento en MultiSelect

Agregar un nuevo elemento a una lista en Vue 2

Agregar un nuevo tipo de elemento en Oracle APEX

Agregar un nuevo elemento a la lista de listas (en R)

agregar un nuevo elemento a la matriz de estructura en c

React useState (): agregar un nuevo elemento en la matriz no funciona

Agregue un campo para cada elemento en el archivo .json

Agregar un nuevo archivo en Intellij no agrega subversión

TOP Lista

CalienteEtiquetas

Archivo