JavaScript将JSON数据提取到一个新的对象

我试图从一个JSON文件中提取多个数据片段放到一个对象中,这样我就可以只用我想要的数据将对象转换回JSON。

我在想像这样的对象是可能的:

data = { 0: { lat: xxxx, lng: xxxx, name: xxxx }, 1: { ... } }; 

这里是提取数据的循环,但我不知道如何将三个数据点分配给对象(数据)中的同一个对象(data.0,data.1,…)。

 for (let z = 0; z < data.features.length; z++) { finalData.z.lat = data.features[z].center[0]; finalData.z.lng = data.features[z].center[1]; finalData.z.name = data.features[z].text; } 

我不介意在一个对象上使用数组,因为它们也可以是JSON.stringified。 data.features的长度取决于API调用。

我希望能用香草JS完成这个工作,但愿意提供build议。 它正在服务器上执行(Node.js)。

使用允许属性访问而不是dot符号的[]符号。

 var dataArray = []; for (let z = 0; z < data.features.length; z++) { var finalData = {}; finalData[z] = {}; finalData[z].lat = data.features[z].center[0]; finalData[z].lng = data.features[z].center[1]; finalData[z].name = data.features[z].text; dataArray.push(finalData); } 

如果您使用ES6,则可以使用[]模式匹配来获取计算出的属性名称。

 let dataArray = []; for (let z = 0; z < data.features.length; z++) { let feature = data.features[z]; let structuredData = { [z]: { lat: feature.center[0], lng: feature.center[1], name: feature.text } }; dataArray.push(structuredData); }