I'm trying so get the number of items in the array inside this piece
JSON
{
"collection" : [
{
"item": "apple"
},
{
"item": "banana"
}]
}
Using the following JS (NodeJS): Updated with answers from user 'elssar'
var data = JSON.parse(fs.readFileSync(filePath));
console.log(data.collection.length);
Expected result: 2
Without specifying the encoding data
will be a buffer instead of string (thanks to user nils). JSON.parse should work for both. Now I'm getting an error Unexpected token ? at Object.parse (native)
. Any idea how to fix this? (using Node 5.2.0)
You need to parse the content of the file to JSON.
fs.readFile(filePath, function (error, content) {
var data = JSON.parse(content);
console.log(data.collection.length);
});
Or
var data = JSON.parse(fs.readFileSync(filePath));
Alternatively, you could just require
json files (the file extension needs to be .json)
var data = require(filePath);
console.log(data.collection.length);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With