Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > из строки в объект


Автор: Grig 2.2.2009, 12:31
Есть строка в виде
Код

var str = "{id:25};";

как бы мне из нее получить объект?
пробовал так:
Код

var obj = eval(str);

не помогает..

не подскажете?

Автор: Grig 2.2.2009, 12:53
вот так получилось:
Код

 var str = "{id:25};";
 var obj = eval("new Object({id:25});");
 alert(obj.id);


Добавлено через 7 минут и 53 секунды
млин (( это идет только в файрфоксе (((
Кто знает другие решения?

Добавлено через 11 минут и 33 секунды
вот так вот:
Код

 var ttt;
 var obj = eval("ttt={id:25};");
 var obj1 = ttt;
 alert(obj1.id);


коряво конечно, что ж поделать.

Автор: ksnk 2.2.2009, 13:06
Код

var str = "{id:25};";
try{
eval('DATA= '+str);
} catch(e){ DATA=e};
alert(DATA);

Вот всех фреймворказ делается как-то так...

Добавлено через 1 минуту и 6 секунд
Правда вместо eval'а во многих случаях удобнее делать window.execScript, или eval.apply(window,... )

Автор: dsCode 3.2.2009, 00:51
Код

var str = '[{id:25}];';
var obj = eval(str)[0];
alert(obj.id);

Автор: An6rey 3.2.2009, 00:55
Добавь скобочки

Код

var str = "{id:25};";
DATA = eval(  '( ' + str + ')'  );
alert(DATA);


Автор: Grig 3.2.2009, 04:39
скока вариантов =) 
Всем спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)