2017-08-08 5 views
0

私はAzure Application Insights REST APIを使用してWebアプリケーションからデータを取得し、ダッシュボードに表示するグラフにします。次のように戻ってくるjs/reactjs - jsonから配列にデータを再構築するにはどうすればよいですか?

JSONは次のとおりです。

{ 
    "value": { 
    "start": "2017-08-07T23:01:50.847Z", 
    "end": "2017-08-08T11:01:50.847Z", 
    "interval": "PT1H", 
    "segments": [ 
     { 
     "start": "2017-08-07T23:01:50.847Z", 
     "end": "2017-08-08T00:00:00.000Z", 
     "requests/count": { 
      "sum": 317 
     } 
     }, 
     { 
     "start": "2017-08-08T00:00:00.000Z", 
     "end": "2017-08-08T01:00:00.000Z", 
     "requests/count": { 
      "sum": 332 
     } 
     }, 
     { 
     "start": "2017-08-08T01:00:00.000Z", 
     "end": "2017-08-08T02:00:00.000Z", 
     "requests/count": { 
      "sum": 337 
     } 
     }, 
     { 
     "start": "2017-08-08T02:00:00.000Z", 
     "end": "2017-08-08T03:00:00.000Z", 
     "requests/count": { 
      "sum": 326 
     } 
     } 
    ] 
    } 
} 

私はは以来、そうのような配列を構築するために「サム」「セグメント」値を「終了」を取得する必要がありますグラフAPIは、この形式である配列を必要とする:

[ 
    ["2017-08-08T00:00:00.000Z", 317], 
    ["2017-08-08T01:00:00.000Z", 332], 
    ["2017-08-08T02:00:00.000Z", 337], 
    ["2017-08-08T03:00:00.000Z", 326] 

]

どうすればいいですか?

答えて

0
var myArray = resultFromAPI.value.segments.map(function(segment) { 
    return [segment.end, segment["requests/count"].sum]; 
}); 

はjavascriptのmapトリック

0

利用を行う必要があります。ような何か:

t.value.segments.map(function(x) { return [ x.start, x['requests/count'].sum] })

1

はあなたには、いくつかの現代のJavaScriptを好む場合は、あなたも同じような何かを行うことができます。

// “res” is your API response 
const newArray = res.value.segments.reduce((acc, val) => { 
    return [...acc, [val.end, val['requests/count'].sum]]; 
}, []); 

reduce magic詳細については、こちらをご覧ください。

私はそれが助けてくれることを願っています!

関連する問題