json - 如何访问node.js中的json嵌套对象

标签 json xml node.js

我使用了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 循环来访问客户名称?

提前致谢。

最佳答案

您可以按如下方式访问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]);
}

关于json - 如何访问node.js中的json嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34013692/

相关文章:

python - 将 XML 属性转换为列表,就像在 Python 中使用参数到函数中一样

node.js - Node.js 上的异步/流系列

node.js - TypeError : result[0]. 数据不是函数

c# - LINQ XML 查询 : How do I perform query for binding?

node.js - 安装 puppeteer 2 Elastic Beanstalk

javascript - PHP json_decode 不适用于对象 GET 变量

json - 在gsp中解析JSON数组

PHP - JSON_ENCODE 数字转换为字符串。如何修复它?

javascript - 将递归函数转换为 JavaScript 中的迭代

xml - 用于生成 xml 并返回数组/JAXB 对象列表的 RESTEasy 服务,提供空集合