Eswar Chukaluri
Eswar Chukaluri

Reputation: 71

Reading json file in node.js

This must be something really silly. After spending the last few hours, I am here for help. I have a users.json file

{
    "Test_Session": {
        "test_SessionID": [
            {
                "$": {
                    "id": "1"
                },
                "test_type": [
                    "1"
                ],
                "Test_IDtest": [
                    "1"
                ],
                "DataURL": [
                    "data1"
                ]
            }
        ]
    }
}

I try to read DataURL by

 var jsonData = require('./users.json');
var test = JSON.stringify(jsonData)
console.log(test.Test_Session.test_SessionID.DataURL);  

In console, I get "Can't read property test_SessionID of undefined".

What's going on?

Upvotes: 1

Views: 4963

Answers (2)

Alex Dovzhanyn
Alex Dovzhanyn

Reputation: 1046

Your main issue is that test_SessionID is an array, so when you try to access DataUrl, it will be undefined. You need to select the index of the test_SessionID object you want to read from. Try this:

console.log(test.Test_Session.test_SessionID[0].DataURL);

Also, you don't need to JSON.stringify anything, Node automatically reads the file in as JSON, so just doing

var jsonData = require('./users.json');
console.log(jsonData.Test_Session.test_SessionID[0].DataURL);

should work fine.

Upvotes: 2

J0sh0nat0r
J0sh0nat0r

Reputation: 211

Node is already interpreting the JSON, try the following:

var test = require('./users.json');
console.log(test.Test_Session.test_SessionID[0].DataURL);

Upvotes: 1

Related Questions