使用nodejs读取JSON值

时间:2019-02-20 17:29:58

标签: node.js json

所以我正在用nodejs开发一个应用程序,该应用程序读取json文件并将部分信息写入xlsx(excel)文件。

但是,在我使用的json中,有一些对象名称中包含“-”,例如:

{
    items[{
        "example-object": "ex"
    }]
}

现在要将这个对象放在nodejs中的变量中,我会写类似的东西:

var jsonObject = items[0].example-object

这适用于不包含'-'的对象名称,但是当它们出现时,出现以下错误:

var jsonObject = items[0].example-object
                                   ^
ReferenceError: object is not defined
    at makeRow (C:\Users\Mathijs\Documents\work\api_to_excel\main.js:56:44)
    at writeToXlsx (C:\Users\Mathijs\Documents\work\api_to_excel\main.js:34:3)
    at C:\Users\Mathijs\Documents\work\api_to_excel\main.js:25:2
    at FSReqWrap.readFileAfterClose [as oncomplete] 
    (internal/fs/read_file_context.js:53:3)

如何在不出现此错误的情况下获取“示例对象”的内容?

1 个答案:

答案 0 :(得分:0)

您需要使用其他[]语法访问属性。例如:

// JSON
var jsonObject = items[0]['example-object']

连字符(-)在JavaScript变量名称中无效,但在JSON语法中完全可以接受。如果变量没有没有连字符,那么您可以像尝试的一样进行操作:

// JavaScript
var jsonObject = items[0].exampleObject