У меня есть часть структуры отладки, которая должна иметь возможность запускать объекты eval времени.оценка javascript eval и объекта
В частности, если у меня есть строка типа "{a: 1, b:2}"
, ее необходимо оценить в объекте с элементами a
и b
с этими значениями. Однако, если я делаю eval("{a: 1, b:2}")
, это, кажется, оценивает его как утверждение и говорит что-то о незаконной этикетке.
Я взломал его так, что он оценивает так:
eval("var x=" + str + "; x;");
, который, кажется, работает, но кажется ужасным хака. Любые предложения о том, как сделать это лучше?
(BTW, я отдаю себе отчет в опасности Eval, но это является частью основы отладки, которые не будут видеть реальных пользователей.)
См. Http://stackoverflow.com/questions/3360356/why-the-open-quote-and-bracket-for-eval-jsonstring-when-parsing-json – CMS