gpt4 book ai didi

javascript - 循环访问 .json 对象

转载 作者:太空宇宙 更新时间:2023-11-04 00:36:50 25 4
gpt4 key购买 nike

我有一个 .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] 以进行测试。但我需要将其更改为循环遍历每个元素的位置。

通常我只会使用 foreach循环,但没有成功。

如何添加一个循环来遍历每个 .JSON 对象并将值添加到我的脚本中,以便我的输出文件将包含所有新格式化的数据?

为了澄清起见,我希望将结果作为结果写入一个数组,在一个文件输出中。

另外:我当前的代码工作得很好,但仅适用于第一个元素[0],我只需要找到一种方法来循环 .JSON 中的其余元素,并将它们包含在我的输出中

最佳答案

正如我在评论中所说,尝试使用箭头函数的 forEach 。像这样的事情:

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 文件中数组的一项。

关于javascript - 循环访问 .json 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38618905/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com