Comment puis-je créer un fichier JSON d'un tableau en JavaScript?

Benji:

Je travaille sur un projet Node.js en utilisant JavaScript. Mon problème est que j'ai un tableau avec des données, et je veux utiliser ces données dans le tableau pour créer un fichier JSON.

Voilà ce que j'ai:

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

C'est ce que je veux:

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

Java a une bibliothèque appelée Jackson qui aide à ce sujet. Est-ce que Node.js pas quelque chose de semblable?

S'il vous plaît si la question ne répond pas aux règles, faites le moi savoir.

Terry Lennox:

Ceci est très simple en effet dans Node.js, vous pouvez utiliser les méthodes JSON stringify et analyser pour créer des chaînes à partir d' objets et des tableaux. Nous pouvons utiliser d' abord réduire pour créer un objet de voiture à partir du tableau de voiture.

J'utilise JSON.stringify () avec null, 4 comme les derniers arguments à peu-impression au fichier. Si nous voulions imprimer tout à une ligne, nous avions simplement utiliser JSON.stringify (carObj).

Par exemple:

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

Le fichier cars.json ressemblera donc:

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

Je suppose que tu aimes

Origine http://43.154.161.224:23101/article/api/json?id=278539&siteId=1
conseillé
Classement