2009-11-13 2 views
0

var jsonCallbackCode1 = eval ("employees = {'accounting': [{'firstName': 'Jo''hn', 'lastName': 'Doe', 'age': 23}]} «); alert (employees.accounting [0] .firstName);Функция json eval в javascript

я получил следующее исключение Microsoft JScript ошибка компиляции: Ожидаемая '}'

мне помочь?

+1

Я думаю, что проблема опиралась на «Jo''hn» видеть двойник, который разрушает строку;) – kentaromiura

ответ

1

Попробуйте это ... Вы должны использовать два обратных слэша, чтобы полностью избежать:

var jsonCallbackCode1 = eval("employees = { 'accounting' : [ { 'firstName' : 'Jo\\'\\'hn', 'lastName' : 'Doe','age': 23 }]}"); 
      alert(employees.accounting[0].firstName); 

Или, конечно, вы можете просто удалить апостроф из firstName вообще.

0

Я считаю

'Jo''hn' 

проблема.

+0

yes thecource the apostrophes - проблема. Но я тоже хочу показать апострофы, что мне делать? – subramani

+0

Значит, техника Амброзии с двойной обратной косой чертой не делает этого? –

0

Парсер задыхается от «Jo''hn» из-за одиночной цитаты. Экранировать с \»

0

Попробуйте

var jsonCallbackCode1 = eval("employees = { 'accounting' : [ { 'firstName' : 'Jo\'\'hn', 'lastName' : 'Doe','age': 23 }]}"); 
    alert(employees.accounting[0].firstName); 
+1

Снова его не работает. Все те же проблемы – subramani

Смежные вопросы