Como faço para criar um arquivo JSON de uma matriz em JavaScript?

Benji:

Eu estou trabalhando em um projeto Node.js usando JavaScript. Meu problema é que eu tenho uma matriz com alguns dados, e eu quero usar esses dados na matriz para criar um arquivo JSON.

Isto é o que eu tenho:

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

É isso que eu quero:

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

Java tem uma biblioteca chamada Jackson que ajuda com isso. Does Node.js não tem algo semelhante?

Por favor, se a questão não faz jus às regras, me avise.

Terry Lennox:

Isto é muito simples de fato em Node.js, você pode usar o JSON métodos stringify e analisar para criar seqüências de objetos e arrays. Podemos usar primeiro reduzir para criar um objeto de carro a partir da matriz de carro.

Estou usando JSON.stringify () com null, 4 como os últimos argumentos para pretty-print para o arquivo. Se quiséssemos imprimir tudo para uma linha, que tinha acabado de usar JSON.stringify (carObj).

Por exemplo:

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);

O arquivo cars.json será parecido com isso:

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

Acho que você gosta

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