在节点js中访问JSON的特定位置

时间:2017-06-05 13:27:16

标签: javascript json

我有一个xml文件,我将其转换为JSON以简化某些操作。

我写了这个片段:

var fs = require('fs');
var parser = require('xml2json');

var fileXML = '';
var str = '';

fs.readdirSync('C:/Users/dir/').forEach(file => {
    if(file.includes('.xml')){
        fileXML = file;
    }
});


fs.readFile( 'C:/Users/dir/'+fileXML, function(err, data) {
    var json = parser.toJson(data);
 });

var json是一个代表这个的JSON:

{
   "event:eventsList":{
      "xmlns:event":"info",
      "event:header":{
         "event:fileName":"info1",
         "event:creationDate":"2017-03-28T17:10:00.113+01:00",
         "event:eventsAmount":"4",
         "event:messageId":"2"
      }
   }
}

我的问题是,我如何访问event:eventsList属性?

我试过json.event,但它给了我错误。

2 个答案:

答案 0 :(得分:4)

使用json["event:eventsList"],您可以通过这种方式访问​​对象密钥

答案 1 :(得分:2)

要访问event:eventsList密钥,您需要使用brackets notation,因为您的密钥不是有效的JSON密钥



var json = {
       "event:eventsList":{
          "xmlns:event":"info",
          "event:header":{
             "event:fileName":"info1",
             "event:creationDate":"2017-03-28T17:10:00.113+01:00",
             "event:eventsAmount":"4",
             "event:messageId":"2"
          }
       }
    }
    
    console.log(json["event:eventsList"])