Tôi có một phần của khung gỡ lỗi cần để có thể chạy các đối tượng eval thời gian.javascript eval và đánh giá đối tượng
Cụ thể, nếu tôi có một chuỗi như thế này "{a: 1, b:2}"
, cần đánh giá nó thành đối tượng có các thành viên a
và b
với các giá trị đó. Tuy nhiên, nếu tôi làm eval("{a: 1, b:2}")
, có vẻ như đánh giá đó là một tuyên bố và nói điều gì đó về một nhãn bất hợp pháp.
tôi đã bị hack nó để nó đánh giá như thế này:
eval("var x=" + str + "; x;");
mà dường như để làm việc, nhưng có vẻ như một hack kinh khủng. Bất kỳ đề xuất về cách làm điều này tốt hơn?
(BTW, tôi nhận thức được sự nguy hiểm của eval, nhưng là một phần của một khung gỡ lỗi đó sẽ không được nhìn thấy bởi người dùng thực tế.)
Xem: http://stackoverflow.com/questions/3360356/why-the-open-quote-and-bracket-for-eval-jsonstring-when-parsing-json – CMS