2014-10-09 3 views
0

Я эти данные Json я получаю от сервера в JavaScriptКак создать модель данных динамически

var mydata = JSON.parse('["X","Y","Z"]'); 

Ниже у меня есть следующие модели данных в JavaScript ..

var mySchemasList = { 
    schemas: [new SelectSchemaModel("A", false), 
       new SelectSchemaModel("B", false), 
       new SelectSchemaModel("C", false) 
      ] 
}; 

Я хочу, чтобы создать этот модель динамически путем получения данных ('A', 'B', 'C') с MyData ..

Любая помощь искренне оценили ..

Спасибо

+0

Для того, чтобы поддерживать связь с вашим задним концом, необходимо иметь свой JavaScript. –

+0

Я предлагаю создать веб-службу на основе покоя, которая возвращает данные (в форме JSON/XML) и через javascript-вызов, что webservice, а затем из JSOn создает соответствующую модель. – Innovation

+0

@Innovation Я могу отправить данные json из backend, но мне нужна помощь в создании модели из JSON в javascript – Arnab

ответ

1

Не можете ли вы просто сделать что-то вроде следующего?

var i 
var mySchemaList = {schemas:[]}; 
for (i = 0; i < mydata.length; i++) { 
    mySchemaList.schemas.push(new SelectSchemaModel(mydata[i], false)); 
} 
1

В JavaScript объекты и массивы доступны с использованием . или [] операторов. Следующие две строки делают одно и то же:

mySchemasList.schemas; 
mySchemasList['schemas']; 

Кроме того, каждый член объекта или массива действуют как переменную самостоятельно. Таким образом, вы можете присвоить значения, объекты или массивы к ним:

mySchemasList = {}; 

Когда переменный (или свойство) объявлено, но ничего не присвоили значение undefined. Таким образом, вы можете проверить просто:

if (mySchemasList === undefined) mySchemasList = {}; 

В качестве альтернативы вы можете использовать || короткое замыкание, так как undefined считается ложным:

mySchemasList = mySchemasList || {}; 

положить все это вместе, следующие два примера делает то же самое.

Пример 1:

var mySchemasList = { 
    schemas : [] 
} 

Пример 2:

var mySchemasList = {}; 
mySchemasList.schemas = []; 

Теперь, когда вы создали массив на mySchemasList.schemas вы можете начать толкая другие объекты в него:

mySchemasList.schemas.push(new SelectSchemaModel("A", false)); 
mySchemasList.schemas.push(new SelectSchemaModel("B", false)); 
mySchemasList.schemas.push(new SelectSchemaModel("C", false)); 

Объединив его в цикле for, обрабатывая данные JSON, вы сделаете так:

var mydata = JSON.parse(ajax.responseText); 
for (var i=0; i<mydata.length; i++) { 
    mySchemasList.schemas.push(new SelectSchemaModel(mydata[i],false)); 
} 
Смежные вопросы