在node.js中读取json文件

时间:2017-10-11 19:17:35

标签: json

这一定是非常愚蠢的事情。过了几个小时后,我来这里寻求帮助。 我有一个users.json文件

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

我尝试通过

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

在控制台中,我得到"无法读取未定义的属性test_SessionID"。

发生了什么?

2 个答案:

答案 0 :(得分:1)

Node已经在解释JSON,请尝试以下方法:

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

答案 1 :(得分:1)

您的主要问题是test_SessionID是一个数组,因此当您尝试访问DataUrl时,它将是未定义的。您需要选择要读取的test_SessionID对象的索引。试试这个:

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

另外,你不需要JSON.stringify任何东西,Node自动以JSON格式读取文件,所以只是做

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

应该可以正常工作。