我有下面的代码工作,但它似乎超重的目的。有没有更简单的方法来实现循环嵌套json的目标?精炼node.js代码循环通过json嵌套对象
我在λ运行这一点,从S3
myFile.json
加载JSON
{
"jsonIsOk":
[
{
"txt_in": "aaa",
"txt_out": "111"
},
{
"txt_in": "bbb",
"txt_out": "222"
},
{
"txt_in": "ccc",
"txt_out": "333"
}
]
}
拉姆达的Node.js
var isJsnOk = "jsonIsOk";
var s3 = new AWS.S3({httpOptions: { timeout: 2000 }});
var params = {
Bucket: 'myBucket',
Key: 'myFile.json',
};
s3.getObject(params, function (err, data) {
if (err) {
console.log(err, err.stack);
} else {
var loadJson = data.Body.toString();
var jsnAry = JSON.parse(loadJson);
if (jsnAry.hasOwnProperty(isJsnOk)) {
for (var key_01 in jsnAry) {
if (jsnAry.hasOwnProperty(key_01)) {
for (var key_02 in jsnAry[key_01]) {
console.log('key_02=' + key_02);
if (jsnAry[key_01].hasOwnProperty(key_02)) {
for (var key_03 in jsnAry[key_01][key_02]) {
console.log('key_03=' + key_03 + ': val_03 =' + jsnAry[key_01][key_02][key_03]);
}
}
console.log("-------");
}
}
}
} else {
console.log("error: json is not ok!");
}
}
}
输出
key_02=0
key_03=txt_in: val_03 =aaa
key_03=txt_out: val_03 =111
-------
key_02=1
key_03=txt_in: val_03 =bbb
key_03=txt_out: val_03 =222
-------
key_02=2
key_03=txt_in: val_03 =ccc
key_03=txt_out: val_03 =333
-------
* key_02 *应提供哪些信息?你不能离开它吗? –