Я пытаюсь визуализировать данные, полученные из файла JSON в REST api. Я использую Morris js для создания простой гистограммы. Мне сложно определить, как правильно форматировать массив javascript.Переместить значения из JSON в массив javascript
Диаграмма формируется следующим образом:
Morris.Bar({
element: 'myfirstchart',
data: [
{ year: '2008', value: 20 },
{ year: '2009', value: 10 },
{ year: '2010', value: 5 },
{ year: '2011', value: 5 },
{ year: '2012', value: 20 }
],
xkey: 'year',
ykeys: ['value'],
labels: ['Series A']
});
Я пытался сохранить значения из структуры JSON в переменной:
var USD = data.d.results[0].ExchangeCross;
var USD2 = data.d.results[0].ApprovedRate;
Для того, чтобы добавить их к диаграмме я попытался добавить их в массив, как это:
var obj = { year: USD, value: USD2 };
, а затем изменить data:[]
к data:obj
. Это не работает. Оптимальным решением было бы запустить функцию each
для всех значений, которые мне нужны, а затем нарисовать их в диаграмме.
Edit forEach function
:
$(document).ready(function() {
$.ajax({
url: "http://intra.site.com/_vti_bin/ListData.svc/ExchangeRates?$orderby=Modified%20desc",
headers: { 'accept': 'application/json;odata=verbose', 'content-type': 'application/json;odata=verbose'},
success: function(data){
var params = {
element: 'myfirstchart',
data: [],
xkey: 'year',
ykeys: ['value'],
labels: ['Series A']
};
var data = JSON.parse(data);
data.d.results.forEach(function(element) {
var obj = { "year": element.ExchangeCross, "value": element.ApprovedRate };
params.data.push(obj);
});
Morris.Bar(params);
}
});
});
Это не работает, я не уверен, правильно ли обрабатываются данные. Я отредактирую исходную запись, чтобы включить ваши предложения. – TietjeDK
Нет нет .. в этом случае просто удалите строку 'var data = JSON.parse (data);'. Потому что у вас уже есть разобранный json в этот момент. – Abhitalks
Thx a bunch! Это отлично работает! – TietjeDK