循环浏览.json对象

我有一个.JSON文件充满了类似这样的数据:

[ { "scan_type": "nexpose", "date_time": "2016-07-18 18:21:44", "source_address": "1111", "source_lat": "22.555260", "source_lng": "-15.084420", }, ... ] 

我写了一个脚本,将这个数据转换为一个对象,这里是我的脚本:

 let obj = require('./dataOut.json'); var fs = require('fs'); //json variables let scan_type = obj[0].scan_type; let date_time = obj[0].date_time; let source_address = obj[0].source_address; let source_lat = obj[0].source_lat; let source_lng = obj[0].source_lng; //source contains the new object var source = { id: source_lat + source_lng, "source-lat": source_lat, "source-lng": source_lng, "source_address": source_address, x: { valueOf: function () { var latlng = [ source_lat, source_lng ]; var xy = map.FUNCTION_FOR_CONVERTING_LAT_LNG_TO_X_Y(latlng); return xy[0]; } }, y: { valueOf: function () { var latlng = [ source_lat, source_lng ]; var xy = map.FUNCTION_FOR_CONVERTING_LAT_LNG_TO_X_Y(latlng); return xy[1]; } } } //write out to file and stringify fs.writeFile('./parentSource.json', JSON.stringify(source, null, 2), 'utf-8'); 

正如你所看到的,目前我已经把所有的东西都设置成了我的数据文件中的第一个元素[0]进行testing。 但是我需要改变它到每个元素将循环的地方。

通常我只是使用foreach循环,但这是不成功的。

我怎样才能添加一个循环,将通过每个.JSON对象,并将值添加到我的脚本,以便我的输出文件将包含所有新格式的数据?

为了说明起见,我想把结果作为结果写入到一个数组中,在一个文件输出中。

另外:我当前的代码工作得很好,但只为第一个元素[0],我只需要find一种方法来循环通过.JSON的其余元素,并将其包括在我的输出

正如我在评论中所述,尝试forEach与箭头function。 像这样的东西:

 let obj = require('./dataOut.json'); var fs = require('fs'); const source = []; obj.forEach(o => { //json variables const scan_type = o.scan_type; const date_time = o.date_time; const source_address = o.source_address; const source_lat = o.source_lat; const source_lng = o.source_lng; //source contains the new object source.push({ id: source_lat + source_lng, "source-lat": source_lat, "source-lng": source_lng, "source_address": source_address, x: { valueOf: function () { var latlng = [ source_lat, source_lng ]; var xy = map.FUNCTION_FOR_CONVERTING_LAT_LNG_TO_X_Y(latlng); return xy[0]; } }, y: { valueOf: function () { var latlng = [ source_lat, source_lng ]; var xy = map.FUNCTION_FOR_CONVERTING_LAT_LNG_TO_X_Y(latlng); return xy[1]; } } }); }); //write out to file and stringify fs.writeFile('./parentSource.json', JSON.stringify(source, null, 2), 'utf-8'); 

在每次迭代中, o都将是./dataOut.json文件中数组的一个项目。