Javascript 提取JSON对象并将其重命名为不同格式

Javascript 提取JSON对象并将其重命名为不同格式,javascript,json,node.js,parsing,Javascript,Json,Node.js,Parsing,我正在从Foursquare API请求场地数据,但没有以geoJSON格式返回。我以前从未使用过JSON,也不知道如何使用JSON 我会循环遍历对象并构建一个包含必要对象值的JavaScript数组吗?如何使用相同的键选择所有值?是否可以删除JSON响应中的特定值,并根据需要重命名其他值?这里最好的方法是什么 下面我已经发布了我想要实现的目标的输入和期望输出 输入 输出 您可以将请求的结果作为变量保存到Foursquare API中,然后通过循环获取所需信息: var result =

我正在从Foursquare API请求场地数据,但没有以geoJSON格式返回。我以前从未使用过JSON,也不知道如何使用JSON

我会循环遍历对象并构建一个包含必要对象值的JavaScript数组吗?如何使用相同的键选择所有值?是否可以删除JSON响应中的特定值,并根据需要重命名其他值?这里最好的方法是什么

下面我已经发布了我想要实现的目标的输入和期望输出

输入 输出
您可以将请求的结果作为变量保存到Foursquare API中,然后通过循环获取所需信息:

 var result =   {
        "meta": {
            "code": 200,
            "requestId": "57c63303498e78d449981c2c"
        },
        "response": {
            "venues": [{
                "id": "430d0a00f964a5203e271fe3",
                "name": "Brooklyn Bridge Park",
                "location": {
                    "address": "Main St",
                    "crossStreet": "Plymouth St",
                    "lat": 40.70303245363086,
                    "lng": -73.99389265510275
                }
            }, {
                "id": "51eabef6498e10cf3aea7942",
                "name": "Brooklyn Bridge Park - Pier 2",
                "contact": {},
                "location": {
                    "address": "Furman St",
                    "crossStreet": "Brooklyn Bridge Park Greenway",
                    "lat": 40.69957016220183,
                    "lng": -73.99793274204788
                }
            }]
        }
    }
for(i=0;i<result.response.venues.length;i++) {
  console.log(result.response.venues[i].name)
}
控制台结果: 布鲁克林大桥公园 布鲁克林大桥公园-2号码头


然后,您可以按照输出中描述的方式将数据写入新的JS对象,而不是将其记录到控制台。问题是,你们真的需要这样做吗?信息就在那里。。。无需将其重写为新对象。

您可以通过将响应保存到变量中来完成此操作。别忘了对它进行JSON.parse。然后,您可以使用Arraymap方法将其转换为您自己的格式

设obj={ 元:{ 代码:200,, 请求ID:57C633034988E78D449981C2C }, 答复:{ 场地:[{ id:430d0a00f964a5203e271fe3, 名称:布鲁克林大桥公园, 地点:{ 地址:美因街, 十字路口:普利茅斯街, 纬度:40.70303245363086, 液化天然气:-73.99389265510275 } }, { id:51eabef6498e10cf3aea7942, 名称:布鲁克林大桥公园-2号码头, 联系人:{}, 地点:{ 地址:福曼街, 十字路口:布鲁克林大桥公园绿道, lat:40.69957016220183, 液化天然气:-73.99793274204788 } }] } }; let res=obj.response.vinces.mapVincement=>{ 设o={}; o、 类型=特征; o、 几何体={ 类型:点, 坐标:[地点.location.lng,地点.location.lat] }; o、 物业=场地; 返回o; };
console.logres;你能解释一下你的预期产出是什么吗?您希望得到什么结果?请参阅页眉OUTPUTI我不确定是否有必要,但geoJSON格式是输出中指定的mapbox所需的格式。您认为简单地重命名键值会更好吗?
[{
    "type": "Feature",
    "geometry": {
        "type": "Point",
        "coordinates": [-73.99389265510277, 40.703032453630854]
    },
    "properties": {
        "id": "430d0a00f964a5203e271fe3",
        "name": "Brooklyn Bridge Park",
        "location": {
            "address": "Main St",
            "crossStreet": "Plymouth St",
            "lat": 40.703032453630854,
            "lng": -73.99389265510277
        }
    }
}, {
    "type": "Feature",
    "geometry": {
        "type": "Point",
        "coordinates": [-73.9979327420479, 40.69957016220184]
    },
    "properties": {
        "id": "51eabef6498e10cf3aea7942",
        "name": "Brooklyn Bridge Park - Pier 2",
        "location": {
            "address": "Furman St",
            "crossStreet": "Brooklyn Bridge Park Greenway",
            "lat": 40.69957016220184,
            "lng": -73.9979327420479
        }
    }
}]
 var result =   {
        "meta": {
            "code": 200,
            "requestId": "57c63303498e78d449981c2c"
        },
        "response": {
            "venues": [{
                "id": "430d0a00f964a5203e271fe3",
                "name": "Brooklyn Bridge Park",
                "location": {
                    "address": "Main St",
                    "crossStreet": "Plymouth St",
                    "lat": 40.70303245363086,
                    "lng": -73.99389265510275
                }
            }, {
                "id": "51eabef6498e10cf3aea7942",
                "name": "Brooklyn Bridge Park - Pier 2",
                "contact": {},
                "location": {
                    "address": "Furman St",
                    "crossStreet": "Brooklyn Bridge Park Greenway",
                    "lat": 40.69957016220183,
                    "lng": -73.99793274204788
                }
            }]
        }
    }
for(i=0;i<result.response.venues.length;i++) {
  console.log(result.response.venues[i].name)
}