Tengo esta matriz Js:
const a = [ [ "Paris", "75000" ], [ "Toulouse", "31000" ], [ "Marseille", "13000" ] ];¿Cómo convertir la reestructuración de esta matriz a JSON?
[{ "city": "Paris", "zip": "75000" }, { "city": "Toulouse", "zip": "31000" }, { "city": "Marseille", "zip": "13000" }] Probé con la función JSON.stringify() pero no obtengo el resultado esperado.
Gracias
Su declaración de matriz no es correcta. Esta es la sintaxis correcta para declarar una matriz en JS y usar JSON.stringify en ella:
tab = [ {city: 'Paris', zip: '75000'}, {city: 'Toulouse', zip: '31000'}, {city: 'Marseille', zip: '13000'} ]; JSON.stringify(tab, null, 2)Podría usar Array.prototype.map para convertir entradas de subarreglo de la matriz original en objetos con propiedades con nombres adecuados y llamar a JSON.stringify en el resultado.
const tabs = [ [ "Paris", "75000" ], [ "Toulouse", "31000" ], [ "Marseille", "13000" ] ]; // restructure sub-arrays into objects: let objectArray = tabs.map(entry=> { const [city, zip] = entry; return {city, zip}; }) // Stringify object array let jsonText = JSON.stringify( objectArray, null, 2) console.log(jsonText); La función de map utiliza la asignación de desestructuración para extraer los valores de city y zip de cada subarreglo.
Un segundo parámetro nulo y un tercer parámetro numérico proporcionados a JSON.stringify mejoran la legibilidad humana de la salida, pero generalmente se omiten en entornos de producción para reducir la longitud de los mensajes de red.