Проблема с созданием массива объектов JSON

#jquery #arrays #json

#jquery #массивы #json

Вопрос:

Что ж! Я должен создать массив объектов JSON, что-то вроде:

 [object, object, object...]
  

и для этого я беру все выбранные строки в моей jtable jquery, создавая единый объект со всеми параметрами для каждой строки
и в конце чтения записи я добавляю этот объект в предыдущий массив, этот:

 var myObject = new Array();
$selectedRows.each(function () {
    var record = $(this).data('record');
    var id = record.id;
    var proyecto = record.proyecto;
    var tarea = record.tarea;
    var fase = record.fase;
    var name = record.name;
    var timeStart = record.timeStart;
    var timeEnd = record.timeEnd;
    var duracion = record.duracion;
    var facturada = record.facturada;
    var activa = record.deleted;

    var actividad = [{id:id,proyecto:proyecto, tarea:tarea,tarea:tarea,fase:fase,name:name,timeStart:timeStart,timeEnd:timeEnd,duracion:duracion,facturada:facturada,activa:activa }];

    myObject.push(actividad);
});
  

Консоль Chrome сообщает, что я создал массив, содержащий массивы, каждый из которых имеет свой соответствующий объект, что-то вроде:
[Массив[1], Array[1], Array[1] … ] Мои объекты находятся внутри этих массивов
Могу ли я преобразовать его в:

 [object, object, object...]  
  

???

Комментарии:

1. примечание. это не имеет абсолютно никакого отношения к json.

Ответ №1:

Измените эту строку

 var actividad = [{id:id,proyecto:proyecto, tarea:tarea,tarea:tarea,fase:fase,name:name,timeStart:timeStart,timeEnd:timeEnd,duracion:duracion,facturada:facturada,activa:activa }];
  

Для

 var actividad = {id:id,proyecto:proyecto, tarea:tarea,tarea:tarea,fase:fase,name:name,timeStart:timeStart,timeEnd:timeEnd,duracion:duracion,facturada:facturada,activa:activa };
  

Первый создает массив с объектом внутри него, второй создает объект. Если вы нажмете на первый из них myObject , результатом будет [[{Object}]] . Вот почему вы видите [Array[1], Array[1], Array[1] ... ] .