2016-09-28 4 views
-1

У меня есть вопрос, я хочу, чтобы изменить вывод JSON в этом формате: [ 50.87758, 5.78092 ], [ 52.87758, 5.48091 ] т.д.Формат координат формат Javascript [NODEJS]

В настоящее время у меня есть этот вывод:

[ { lat: 53.1799, lon: 6.98565 }, 
    { lat: 52.02554, lon: 5.82181 }, 
    { lat: 51.87335, lon: 4.34166 }, 
    { lat: 50.87758, lon: 5.78092 } ] 

Я уже пробовал его с str.replace, но не может заставить его работать. Это мой текущий код:

>  var http = require('http.min') 
> 
> function getRadars (callback) { var radars = [] var options = { 
>  uri: 'http://www.anwb.nl/feeds/gethf' } http.json(options).then(function (result) { 
>  Object.keys(result.roadEntries).forEach(function (entry) { 
>  if (result.roadEntries[entry].events.radars.length > 0) { 
>   radars.push(result.roadEntries[entry].events.radars[0].loc) 
>  
>  } 
>  }) 
>  callback(null, radars) }).catch(function (reason) { 
>  console.log('Error calling api', reason) 
>  callback(reason) }) } 
> 
> getRadars(function (reason, radars) { 
> 
>  console.log(radars); }) 

Любая помощь приветствуется !!

+0

'input.map (эл => [el.lat, el.lon]) ' – Rayon

+0

Если я ошибаюсь 'radars.push ([result.roadEntries [entry] .events.radars [0] .loc.lat, result.roadEntries [entry] .events.radars [0] .loc.lon])' – Rayon

+0

Возможная дубликация [Access/process (вложенные) объекты, массивы или JSON] (http://stackoverflow.com/questions/11922383/access-process-nested-objects-arrays-or-json) –

ответ

-1

Использование Array#map с arrow-function[ES6]

var inp = [{ 
 
    lat: 53.1799, 
 
    lon: 6.98565 
 
}, { 
 
    lat: 52.02554, 
 
    lon: 5.82181 
 
}, { 
 
    lat: 51.87335, 
 
    lon: 4.34166 
 
}, { 
 
    lat: 50.87758, 
 
    lon: 5.78092 
 
}]; 
 
var op = inp.map(el => [el.lat, el.lon]); 
 
console.log(op);

Или вы можете просто нажать array вместо Object, имеющих ключи, как lat и lon

radars.push([result.roadEntries[entry].events.radars[0].loc.‌​lat,result.roadEntri‌​es[entry].events.rad‌​ars[0].loc.lon]) 
+0

'Array.prototype.map() 'был введен в ES 5.1. –

+0

@ Gothdo - Я имею в виду функции 'arrow'. – Rayon

+0

' \ anwb.js: 11 radars.push ([result.roadEntries [entry] .events.radars [0] .loc. ?? lat, result .roadEntri ?? es [entry] .events.rad ?? ars [0] .loc.lon]; ^ SyntaxError: Неожиданный токен ILLEGAL' –

Смежные вопросы