2013-08-17 3 views
1

Я хотел бы создать JSON с этой структурой внутри цикла:создать JSon с динамическим индексом

{ id_foto: 
    [ { firstName: 37, lastName: 'Doe' }, 
    { firstName: 'Anna', lastName: 'Smith' }, 
    { firstName: 'Peter', lastName: 'Jones' } ] } 

Я хотел бы переменная id_foto

так, что:

if (id_foto == n.foto_moderata) { 
// add new { firstName: 'Anna', lastName: 'Smith' } 
} else { 
// create new "node" like 
{ id_foto(NEW INDEX): 
     [ { firstName: 37, lastName: 'Doe' },] } 
} 

Итоговый результат, такой как:

{ 10: 
    [ { firstName: 37, lastName: 'Doe' }, 
    { firstName: 'Anna', lastName: 'Smith' }, 
    { firstName: 'Peter', lastName: 'Jones' } ] 
11: 
    [ { firstName: fff, lastName: 'fff' }, 
    { firstName: 'fff', lastName: 'fff' } ] 
} 

Затем возьмите все пользователю 11 индекса

+0

Невозможно сделать это непосредственно в синтаксисе объектного литерала. Вам нужно создать объект, а затем добавить новое свойство с динамическим именем после. Если вы не знаете, как создать имя свойства из переменной, просто посмотрите на некоторые из сотен других вопросов в StackOverflow, которые задали вопрос. –

+0

Я вижу это сообщение http://stackoverflow.com/questions/4538269/adding-removing-items-from-json-data-with-jquery, но я бы хотел создать много элементов – Barno

ответ

0

Одним из способов достижения последовательных идентификаторов для ваших данных для создания: -
1. место для хранения текущего значения вашего идентификатора,
2. функция для увеличения и вернуть ваш серийный

Вы можете сохранить текущее значение идентификатора в данном объекте, так как: -

{ 
    seq : 11, 
    10: 
    [ { firstName: 37, lastName: 'Doe' }, 
    { firstName: 'Anna', lastName: 'Smith' }, 
    { firstName: 'Peter', lastName: 'Jones' } ], 
    11: 
    [ { firstName: fff, lastName: 'fff' }, 
    { firstName: 'fff', lastName: 'fff' } ] 
} 

, а затем использовать следующее приращение & возврата следующей последовательность ID

function id_foto() { 
    return ++your_object.seq;//get,increment and return incremented value 
} 
Смежные вопросы