javascript eval и оценка объекта
У меня есть часть инфраструктуры отладки, которая должна быть в состоянии запустить объекты eval времени.
В частности, если у меня есть такая строка"{a: 1, b:2}"
это должно оценить это в объект с членамиa
а такжеb
с этими ценностями. Однако, если я сделаюeval("{a: 1, b:2}")
кажется, что это оценивается как утверждение и что-то говорит о нелегальном лейбле.
Я взломал его так, чтобы он оценил так:
eval("var x=" + str + "; x;");
который, кажется, работает, но кажется ужасным взломом. Любые предложения о том, как сделать это лучше?
(Кстати, я знаю об опасностях eval, но это часть инфраструктуры отладки, которую не увидят реальные пользователи.)