Javascript Nodejs-迭代嵌套JSON数组的正确方法
考虑以下示例JSON数组:Javascript Nodejs-迭代嵌套JSON数组的正确方法,javascript,json,node.js,Javascript,Json,Node.js,考虑以下示例JSON数组: [{ info: { refOne: 'refOne', refTwo: [{ refOne: 'refOne', refTwo: 'refTwo' }] } }, { info: { refOne: 'refOne', refTwo: [{ refOne: 'refOne',
[{
info: {
refOne: 'refOne',
refTwo: [{
refOne: 'refOne',
refTwo: 'refTwo'
}]
}
}, {
info: {
refOne: 'refOne',
refTwo: [{
refOne: 'refOne',
refTwo: 'refTwo'
}]
}
}]
上面的JSON是数据库查询响应的简单表示,在NodeJ中循环通过父信息数组中的每个“refTwo”数组的正确方式是什么
sudo示例:
对于示例JSON中的每个项目
对于当前项目中的每个参考项,有两个项目
做点什么
我怀疑这里可能需要“异步”库,但非常感谢您提供一些建议。这是一个简单的javascript问题:
var o = [...];
var fn = function (e){
e.refOne...
e.refTwo...
};
o.forEach (function (e){
e.info.refTwo.forEach (fn);
});
您可以使用或以一种功能性的方式来完成它
例如,看一看和:
编辑:您当然可以使用Gabriel Llamas建议的forEach方法,不过我还是建议您看看下划线。感谢您提供了其他方法。我会跟进并阅读。谢谢您的及时回复。
var _ = require('underscore');
var result = // your json blob here
var myRefs = _.map(results, function(value, key) {
return value.info.refTwo;
};
// myRefs contains the two arrays from results[0].info.refTwo from results[1].info.refTwo now
// Or with each:
_.each(results, function(value, key) {
console.log(value.info.refTwo);
}
// Naturally you can nest, too:
_.each(results, function(value, key) {
_.each(value.info.refTwo, function(innerValue) { // the key parameter is optional
console.log(value);
}
}