2009-11-13 54 views
0

var jsonCallbackCode1 = eval(「employees = {'accounting':[{'firstName':'Jo''hn','lastName':'Doe','age':23}]} 「); alert(employees.accounting [0] .firstName);javascript中的JSON評估函數

我得到了以下異常 Microsoft JScript中的編譯錯誤:預期 '}'

幫助我嗎?

+1

我認爲問題依賴於'Jo''hn'看到雙',打破了字符串;) – kentaromiura 2009-11-13 10:01:19

回答

1

嘗試......你必須使用兩個反斜槓完全逃脫

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

或者你當然可以只刪除撇號第一個名字。

0

我相信

'Jo''hn' 

的問題。

+0

是的撇號的撇號是問題。但我想顯示撇號,我該怎麼辦? – subramani 2009-11-13 14:14:32

+0

因此,Ambrosia的雙反斜槓技術也不能做到這一點嗎? – 2009-11-17 17:00:27

0

由於單引號,解析器在'Jo''hn'上窒息。與\」

0

逃避它試試這個

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

再次沒有工作。仍然有同樣的問題 – subramani 2009-11-13 11:31:39