我的webapp后端(用node.js编写)与Json文件交互,并且使用一种我认为不太复杂但显然很明显的特定格式。
我的json文件的结构如下:
{
"data": [
{
"somefield": "ioremipsum",
"somedate" : "2018-08-23T11:48:00Z",
"someotherdate" : "2018-08-23T13:43:00Z",
"somethingelse":"ioremipsum",
"files": [
{
"specificfieldinarray": "ioremipsum",
"specificotherfieldinarray": "ioremipsum"
},
{
"specificfieldinarray": "ioremipsum",
"specificotherfieldinarray": "ioremipsum"
},
{
"specificfieldinarray": "ioremipsum",
"specificotherfieldinarray": "ioremipsum"
}
]
}
]
}
我试图使这个答案适合这样的JS对象:
const file = require('specificJsonFile.json');
let fileList = file;
我需要遍历“文件”数组以进行进一步的处理,但不幸的是,我的JS对象看起来像这样:
{ data:
[ { somefield: "ioremipsum",
somedate : "2018-08-23T11:48:00Z",
someotherdate : "2018-08-23T13:43:00Z",
somethingelse:"ioremipsum",
files: [Array] } ] }
如果这很明显,请原谅我,因为我仍然是JS的初学者。
答案 0 :(得分:1)
这只是console.log记录深层对象的方式。要获得更深的输出,可以使用util.inspect
const util = require('util');
console.log(util.inspect(yourObject, {showHidden: false, depth: null}));
要循环播放每个数据的文件,只需先循环播放数据,然后循环播放文件
yourObject.data.forEach(d => {
d.files.forEach(file => console.log(file));
});
答案 1 :(得分:1)
看来那里没什么问题,控制台正在缩写日志。
尝试使用以下代码访问文件列表:
const filesList = file.data[0].files
然后
console.log(filesList)
来检查它是否最终可以正常工作。
希望有帮助!
答案 2 :(得分:-1)
let fileList = file.data[0].files;
这将创建仅包含文件数组的数组。
您可以console.log(fileList)
或您喜欢的数据。
根据您的评论,尝试使用in关键字而不是in关键字来获得预期的行为。
for (let file of fileList){
console.log(file);
}
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of
答案 3 :(得分:-1)
您可以使用Route::resource('showrecord','ShowrecordController');
for
in