¿Cómo se crea un archivo JSON de una matriz en JavaScript?

Benji:

Estoy trabajando en un proyecto Node.js uso de JavaScript. Mi problema es que tengo una matriz con algunos datos, y quiero utilizar estos datos en la matriz para crear un archivo JSON.

Esto es lo que tengo:

var cars = ["Saab", "Volvo", "BMW"];

Esto es lo que quiero:

{
  "cars": [
    {
       "mark" : "Saab"
    },
    {
       "mark" : "Volvo"
    },
    {
       "mark" : "BMW"
    }
  ]
}

Java tiene una biblioteca llamada Jackson que ayuda con esto. ¿El Node.js no tener algo similar?

Por favor, si la pregunta no cumple con las reglas, que me haga saber.

Terry Lennox:

Esto es muy simple de hecho en Node.js, se puede utilizar el JSON métodos stringify y analizar para crear cadenas de objetos y matrices. Podemos utilizar primero reducir crear un objeto coche de la gama de coches.

Estoy usando JSON.stringify () con NULL, 4 como los últimos argumentos a bastante-impresión para el archivo. Si quisiéramos imprimir todo a una sola línea, nos limitamos a usar JSON.stringify (carObj).

Por ejemplo:

const fs = require("fs");

const cars =  ["Saab", "Volvo", "BMW"];
const carObj =  cars.reduce((map, car) => { 
    map.cars.push( { mark: car} );
    return map;
}, { cars: []})

// Write cars object to file..
fs.writeFileSync("./cars.json", JSON.stringify(carObj, null, 4));

// Read back from the file...
const carsFromFile = JSON.parse(fs.readFileSync("./cars.json", "utf8"));
console.log("Cars from file:", carsFromFile);

El archivo cars.json se vería así:

{
    "cars": [
        {
            "mark": "Saab"
        },
        {
            "mark": "Volvo"
        },
        {
            "mark": "BMW"
        }
    ]
}

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=278541&siteId=1
Recomendado
Clasificación