2014-09-10 7 views
0

Теперь я работаю с линейной диаграммой в ExtJS4. Диаграмма основана на данных магазина. Магазин меняет свои данные с помощью функции loadRawData(). Знакомая ситуация, не так ли?Построен JSON из струнных элементов

AJAX отправляет строки каждые 10 секунд, и мне нужно построить JSON из этих строк. Я пытаюсь:

success: function(response) { 
    var requestMassive = JSON.parse(response.responseText); 
    var jArray = []; 
       for(var i=0;i<requestMassive.length;i++){ 
        var firstPiece = JSON.parse(response.responseText)[i].date; 
        var secondPiece = JSON.parse(response.responseText)[i].connectCount; 
        var recording = "{'machinesPlayed':"+firstPiece+", 'machinesOnline':"+secondPiece+"}"; 
        jArray.push(recording); 
       } 

       jArray = '['+jArray+']'; 
       store.loadRawData(jArray); 
} 

Но это неправильный путь. Как это сделать правильно?

+0

Как вы определили свой магазин и модель? – pherris

+0

Ext.define ('Соединения', { extend: 'Ext.data.Model', поля: ['date', 'connect'] }); –

+0

var store = Ext.create ('Ext.data.Store', { модель: 'Соединения', данные: [ {date: 586787897, connect: 43}, {date: 45345435, connect: 56}, ... ] }); –

ответ

1

Вы можете использовать функцию loadData() вместо loadRawData(). loadData() нужен только массив объектов.

success: function(response) { 
    var requestMassive = JSON.parse(response.responseText); 
    var jArray = []; 
     for(var i=0;i<requestMassive.length;i++){ 
     jArray.push({ machinesPlayed: requestMassive[i].date, machinesOnline: requestMassive[i].connectCount}); 
     } 

     store.loadData(jArray); 
} 
+0

Он работает! Я использовал его. Thanx! –

+0

, пожалуйста, отметьте галочку рядом с этим ответом, если он решит ваш вопрос. – pherris

1

Я не получил то, что вы пытаетесь достичь. Но он может быть сформирован таким образом. Попробуйте это.

var recording = { 
    "machinesPlayed" : firstPiece, 
    "machinesOnline" : secondPiece 
} 
jArray.push(recording); 

OR 
jArray.push({ 
    "machinesPlayed" : firstPiece, 
    "machinesOnline" : secondPiece 
}); 
+0

Он тоже работает! Спасибо! –

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