我确实意识到这个问题的标题选择得很尴尬,如果有人有建议的话,我很乐意把它改成更具描述性的,我只是不知道如何用不同的方式来描述它。
我有这一点javascript代码,这是创建一个json对象包含一个数组标记旅行。这个数组中的每个对象都包含一个标记为nodes的数组,我希望这个数组中包含具有一次旅行的所有特定节点的对象。
var json = {origin: data.origin.name, destination: data.destination.name, trips: []};
for (var i = 0; i < data.trips.length; i++) {
var departure = data.trips[i].dep.time;
var arrival = data.trips[i].arr.time;
var trip = {departure: departure, arrival: arrival, nodes: []}
for (var j = 0; j < data.trips[i].legs.length; j++) {
trip.nodes.push({test: 'test'});
}
json.trips.push(trip);
}
结果是这样的。
{ origin: 'Dresden, Helmholtzstraße',
destination: 'Dresden, Zellescher Weg',
trips:
[ { departure: '12:04',
arrival: '12:26',
nodes: [Object] },
{ departure: '13:02',
arrival: '13:11',
nodes: [Object] } ] }
我正在从中提取数据的数组,第二个for循环循环的数组,包含几个元素。因此,我希望在节点数组中看到测试对象几次。我不太明白如何解释我所得到的。它是一个包含未指定对象的数组吗?如果是,为什么?
我假设这是您console.log
对象时的输出。我相信当对象达到一定深度时,节点console.log
函数会回退到只显示Object
。这可以确保你的控制台不会完全被文本淹没。
测试一下:
console.log(JSON.stringify(json, null, 4));
这将把json对象转换成格式良好的文本,它应该被完美地记录下来。