【问题标题】:How to access json nested objects in node.js如何访问 node.js 中的 json 嵌套对象
【发布时间】:2016-03-04 23:30:37
【问题描述】:

我已经使用 xml2js 解析器来解析 node.js 中的 xml 文件。它正在成功解析xml。但现在我想解析 json 或识别 json 中的特定数据。

我的 node.js 代码

var fs = require('fs');
var parseString = require('xml2js').parseString; 
var xml = 'C:\\temp\\Masters.xml'; 
var fileData = fs.readFileSync(xml,'utf8'); 
parseString(fileData, function (err, result) { 
console.log(JSON.stringify(result));
var json = JSON.stringify(result); 

var jsonObj = JSON.parse(json); 
for (var key in jsonObj) { 
console.dir(key + ": " + jsonObj[key].Customer_Name); 
} 
});

在控制台输出中:

'Masters: undefined'

Json 数据:

'{"Masters":
  {
    "Customer":

  [
  {"Customer_Name":["Kim"],
  "Customer_Code":["c86"],
  "Date":["23-11-15"],
  "Address":["Narhe"],
  "City":["Pune"],
  "State":["Maharashtra"],
  "TIN":["3365670"],
  "PAN_Number":["AAAAA1111a"],
  "Mobile_Number":["8999000090"],
  "Email_ID":["amitshirke@gmail.com"],
  "Contact_Person":["Anish"],
  "Opening_Balance":["0"] },

  {"Customer_Name":["Ankit"],
  "Customer_Code":["c87"],
  "Date":["12-04-15"],
  "Address":["Narhe"],
  "City":["Pune"],
  "State":["Maharashtra"],
  "TIN":["336567"],
  "PAN_Number":["AAAAA1111p"],
  "Mobile_Number":["8900000000"],
  "Email_ID":["amitshirke1@gmail.com"],
  "Contact_Person":["Anuj"],
  "Opening_Balance":["0"] }
  ]
 }
}'

在上述数据中,Masters 是根元素(对象),Customer 是另一个嵌套对象,并且有两个客户。那么如何访问客户名称或如何使用 for 循环访问相同的名称?。

提前致谢。

【问题讨论】:

  • 哦,对不起。但在这种情况下,我如何访问客户姓名或任何其他数据。

标签: json xml node.js


【解决方案1】:

你可以通过如下方式访问Customer数组——

var customerArray = Masters.Customer,
    length = customerArray.length;

for(var i = 0; i < length; i++)
{
    // You can access the customers array from here - 
    console.log(customerArray[i].Customer_Name[0]); // [0] hardcoded because as you can see all the variables are in array at 0th position 
   // similarly you can access other data 
   console.log(customerArray[i].City[0]);
}

【讨论】:

  • for (var i=0; i
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-13
  • 2017-11-27
相关资源
最近更新 更多