es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Agregar claves a un archivo json, eliminar duplicados y escribir en un archivo json en JavaScript.

Quiero agregar datos de otro archivo Json a otro sin sobrescribir el existente. Simplemente no puedo avanzar más, la consola siempre me muestra lo siguiente:

Salida de la consola
Datos
string
[
    "follow1",
    "follow2",
    "follow3",
    "follow4",
    "[\"follow5\",\"follow6\",\"follow7\",\"follow8\",\"follow9\"]"
]

Este es mi código, me gustaría agregar los datos pero sin corchetes y sin barras invertidas. Sería realmente bueno si alguien pudiera ayudarme. Muchas gracias.

const user = require('./user.json');
const oldUser = user.user_follwos["user1"];
const data = require('./data.json');
const toAdd = JSON.stringify(data);

const result = JSON.stringify(toAdd);
oldUser.push(...toAdd.split(' '))
const newData = JSON.stringify(oldUser, null, 4)
console.log('\nDatos \n' + typeof newData + '  \n' + newData);

Y aquí están mis archivos json

user.json

{
  "application_id": "123546789",
  "user_follows": {
    "user1": [
      "follow1",
      "follow2",
      "follow3",
      "follow4"
    ],
    "user2": [
      "followA",
      "followB",
      "followC",
      "followD"
    ]
  },
  ...
  ...
}

data.json

[
  "follow5",
  "follow6",
  "follow7",
  "follow8",
  "follow9"
]
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para agregar datos de otro archivo JSON a otro sin sobrescribir el existente, puedes modificar el código de la siguiente manera:

    const user = require('./user.json');
    const oldUser = user.user_follwos["user1"];
    const data = require('./data.json');
    
    oldUser.push(...data)
    const newData = JSON.stringify(user, null, 4)
    console.log('\nData \n' + typeof newData + '  \n' + newData);
    

    Aquí estamos:

    • Importando los archivos JSON requeridos (user.json y data.json).
    • Obteniendo los datos de usuario requeridos (user_follwos["user1"]) del user.json.
    • Agregando los nuevos datos (data) a los datos de usuario existentes usando el método Array.push().
    • Haciendo un string de los resultados (user) para obtener los nuevos datos JSON sin ningún formato.
    • Registrando los nuevos datos JSON en la consola como una cadena.

    La salida del código anterior debería ser:

    Data 
    string  
    {
        "application_id": "123546789",
        "user_follwos": {
            "user1": [
                "follow1",
                "follow2",
                "follow3",
                "follow4",
                "follow5",
                "follow6",
                "follow7",
                "follow8",
                "follow9"
            ],
            "user2": [
                "followA",
                "followB",
                "followC",
                "followD"
            ]
        }
    }
    

    Aquí hemos agregado con éxito los datos de data.json al array existente user_follwos["user1"] en user.json.

Comments are closed.