Строковать объект JavaScript

Я ищу строку для объекта.

Я хочу на выходе, как это

{"1":{"valeur":"dalebrun","usager":"experttasp","date":"2013-08-20 16:41:50"}, "2": {"valeur":"test","usager":"experttasp","date":"2013-08-20 16:41:50"}}

Но я понимаю

{"valeur":"dalebrun","usager":"experttasp","date":"2013-08-20 16:41:50"}, {"valeur":"test","usager":"experttasp","date":"2013-08-20 16:41:50"}

Что я делаю

var objVal = {}; //value....
var data = {}; //other value....
var object = $.extend({}, objVal, data); //concat the object 
JSON.stringify(object); 

person davidlebr1    schedule 22.08.2013    source источник
comment
у вас есть var date, а позже вы используете data?   -  person Ron van der Heijden    schedule 22.08.2013
comment
упс извините это данные не дата   -  person davidlebr1    schedule 22.08.2013
comment
Я не могу придумать лучшего варианта использования голосования, чтобы закрыть вопрос как неясный, например, когда вы даете ответ на ОП, как я, и они говорят, что это работает, но это не то, что они ищут   -  person Dexygen    schedule 23.08.2013
comment
Ответ Джованни был самым близким ответом. Но спасибо за вашу помощь и время, @George Jempty. Я не говорил, что вы не ответили ОП ..   -  person davidlebr1    schedule 23.08.2013


Ответы (2)


Когда вы объединяете объект, вы получаете массив; вам нужна карта с двумя элементами, используя идентификатор "1" и "2"

var objVal = {};   //value....
var data = {};     //other value....

var object = {}
object["1"] = objVal;
object["2"] = date;
JSON.stringify(object); 
person Giovanni P.    schedule 22.08.2013
comment
Благодарю за ваш ответ. Но у меня будет более одного объекта, так что это будет 1:.... 2:..... 3: ...... .... ... - person davidlebr1; 22.08.2013
comment
затем используйте цикл while/for Dave. В вашем вопросе это выглядит так, как будто у вас есть только один объект. - person cocco; 22.08.2013
comment
Если ваш объект хранится в массиве (или как-то повторяется), вы можете использовать цикл для помещения значений в карту объектов. - person Giovanni P.; 22.08.2013
comment
Я пытаюсь что-то с циклом, например: var data = {}; вар objVal = {}; for(var i в данных) { var object = {}; объект[i] = $.extend({}, objVal, данные);} JSON.stringify(объект); // но не работает :( - person davidlebr1; 22.08.2013
comment
Хотя цикл while, безусловно, возможен, см. мой ответ для решения на основе подчеркивания. - person Dexygen; 22.08.2013

Я нашел решение!

Я делаю цикл for для объекта. И я перебираю каждый элемент объекта. Спасибо за помощь. Ответ @Giovanni помог мне найти решение.

Решение:

var data = {}; //values....
var objVal = {}; //other values....
var final = {};
var index = 1;
for(var key in data)
{
    final[index] = data[key];
    index = index + 1;
}
final[index] = objVal;
JSON.stringify(final);

И вывод:

{"1":{"valeur":"dfgdfg","usager":"experttasp","date":"2013-08-23 10:36:54"},"2":{"valeur":"uuuuuuuuuu","commentaire":"defg","usager":"experttasp","date":"2013-08-23 10:37:26"},"3":{"valeur":"uuuuuuuuuu","commentaire":"yesssss","usager":"experttasp","date":"2013-08-23 10:38:38"}}
person davidlebr1    schedule 23.08.2013