Решил проблему формирования корректного json таким образом:
// Массив с данными
var object = [];
$$(".ct_obj").each(function(){
object[c1] = [];
object[c1][c2] = '"group": "'+group+'"'; c2++;
object[c1][c2] = '"index": "'+index+'"'; c2++;
c1++;
c2 = 0;
});
// Помещение данных из массива в json
var mstr = '';
for(var ic = 0; ic < object.length; ic++){
mstr = mstr+'{';
for(var yc = 0; yc < object.length; yc++){
var nyc = yc+1;
if (object[nyc]){
mstr = mstr+''+object[ic][yc]+',';
}else{
mstr = mstr+''+object[ic][yc]+'';
}
}
var nic = ic+1;
if (object[nic]){
mstr = mstr+'},';
}else{
mstr = mstr+'}';
}
}
var ctdata = "{\"objects\":[";
ctdata = ctdata+=mstr;
ctdata = ctdata+= "]}";
}
Получается валидный json. Но при преобразовании полученного json в строку
var str = JSON.stringify(ctdata);
При последующем парсинге этой строки обратно в значение
var objects = JSON.parse(str.objects);
Вылетает такая вот ошибка:
VM22590:1 Uncaught SyntaxError: Unexpected token o in JSON at position 1