Michael
Michael

Reputation: 16142

Creating .json file and storing data in it with JavaScript?

I have a back-end JavaScript file that runs on node.js. It do some stuff using async.series and yields the final dictionary(object) with data I need on my front-end. I now how to read a .json file and convert it into the JavaScript object, but I do not know create .json file with back-end JavaScript and how to store some data in it.

Could anyone please tell me the right way to do this.

Here is the dictionary(object) that I need to convert and store to the .json file.

var dict = {"one" : [15, 4.5],
            "two" : [34, 3.3],
            "three" : [67, 5.0],
            "four" : [32, 4.1]};

Upvotes: 28

Views: 137015

Answers (2)

1- make your obj:

var dict = {"one" : [15, 4.5],
    "two" : [34, 3.3],
    "three" : [67, 5.0],
    "four" : [32, 4.1]};

2- make it JSON:

var dictstring = JSON.stringify(dict);

3- save your json file and dont forget that fs.writeFile(...) requires a third (or fourth) parameter which is a callback function to be invoked when the operation completes.

var fs = require('fs');
fs.writeFile("thing.json", dictstring, function(err, result) {
    if(err) console.log('error', err);
});

Upvotes: 18

DevilishDB
DevilishDB

Reputation: 615

Simple! You can convert it to a JSON (as a string).

var dictstring = JSON.stringify(dict);

To save a file in NodeJS:

var fs = require('fs');
fs.writeFile("thing.json", dictstring);

Also, objects in javascript use colons, not equals:

var dict = {"one" : [15, 4.5],
        "two" : [34, 3.3],
        "three" : [67, 5.0],
        "four" : [32, 4.1]};

Upvotes: 35

Related Questions