2017-06-05 73 views
0

我有一個xml文件,我將其轉換爲JSON以簡化某些操作。訪問JSON的節點j中的特定位置

我寫這個片段:

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); 
}); 

​​是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但它給了我錯誤。

+0

請包括您收到的錯誤。另外,JSON是一種字符串格式,所以也許'json'實際上是一個字符串,而不是你(和回答者)所期待的那樣的一個對象? –

回答

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"])

+0

感謝您的快速回答,但它在我的應用程序 – OiRc

+0

上打印了未定義的內容。您在哪裏可以在您的應用程序中使用此console.log –

+0

我在'var json = parser.toJson(data)之後放置了'console.log'; ' – OiRc

4

使用json["event:eventsList"],您可以訪問對象鍵這樣