0

I'm trying to work with a json file but I can't figure out how to read just a specific object from a json file.

My current code looks like this:

try {
    const data = fs.readFileSync("addresses.json", "utf8");
    console.log(data);
} catch (err) {
    console.error(err);
}

This works fine. However when I try to get some object from the file like this:

console.log(data.address)

It doesn't work because it is a string.

So my question is how can I read just a single object from the json file.

Thanks a lot!

Kuly14
  • 496
  • 3
  • 12
  • You need to parse the string that you get first using `JSON.parse()`. Then you will be able to access it the way you want to. – Mushroomator Mar 26 '22 at 19:42

3 Answers3

3

Try:

const parsedData = JSON.parse(data)
const address = parsedData.address
Steven Spungin
  • 27,002
  • 5
  • 88
  • 78
2

You need to use JSON.parse(), as right now, you are trying to access a property off of a string. However, the method will change it to an object.

// Dummy JSON data
const data = `{ "address": "Stack Overflow" }`;

const json = JSON.parse(data);
console.log(json.address);

This will make it possible to access the properties off of the object.

Arnav Thorat
  • 3,078
  • 3
  • 8
  • 33
0

you must convert the data into json like so:

    JSON.parse(data)

In your example :

    try {
        const data = fs.readFileSync("addresses.json", "utf8");
        console.log(JSON.parse(data).address);
    } catch (err) {
        console.error(err);
    }

I hope I answered your question. Feel free to comment if I misunderstood you or you have some questions ;)