2

Tengo un json, imaginemos que es este por ejemplo:

{
  "squadName": "Super hero squad",
  "homeTown": "Metro City",
  "formed": 2016,
  "secretBase": "Super tower",
  "active": true,
  "members": [
    {
      "name": "Molecule Man",
      "age": 29,
      "secretIdentity": "Dan Jukes",
      "powers": [
        "Radiation resistance",
        "Turning tiny",
        "Radiation blast"
      ]
    },
    {
      "name": "Madame Uppercut",
      "age": 39,
      "secretIdentity": "Jane Wilson",
      "powers": [
        "Million tonne punch",
        "Damage resistance",
        "Superhuman reflexes"
      ]
    }
  ]
}

Si por ejemplo en vez de colocar "squadName": "Super hero squad" le quiero pasar una variable que recojo de un formulario, "squadName": variable , esto sería posible como se haría?¿

Si tenemos en cuenta que se recoge

const variable = document.getElementById('respuesta');
Aitor
  • 974
  • 7
  • 15
Twins
  • 71
  • 6

1 Answers1

2

Por aclarar ambigüedades, voy a suponer que tienes un texto JSON. En este caso lo primero que hay que hacer es procesarlo (parsearlo) y convertirlo en un objeto. Una vez hecho esto, sólo tienes que modificar el campo que quieras:

let texto = `{
  "squadName": "Super hero squad",
  "homeTown": "Metro City",
  "formed": 2016,
  "secretBase": "Super tower",
  "active": true,
  "members": [
    {
      "name": "Molecule Man",
      "age": 29,
      "secretIdentity": "Dan Jukes",
      "powers": [
        "Radiation resistance",
        "Turning tiny",
        "Radiation blast"
      ]
    },
    {
      "name": "Madame Uppercut",
      "age": 39,
      "secretIdentity": "Jane Wilson",
      "powers": [
        "Million tonne punch",
        "Damage resistance",
        "Superhuman reflexes"
      ]
    }
  ]
}`;

//Convertimos el JSON a un objeto
let datos = JSON.parse(texto);
//modificamos la propiedad
datos.squadName = 'The Fantastic Duo';

//mostramos el resultado
console.log(JSON.stringify(datos,null,2));
Pablo Lozano
  • 45,934
  • 7
  • 48
  • 87