我以前從未使用過eval()
,所以我認爲我剛剛得到了可怕的錯誤語法。出了什麼問題如下:Eval無法正常工作 - JavaScript
var JSONAsString = '{"item1":"one", "item2":"two", "item3":"three"}';
var JSONAsObject = eval(JSONString);
alert(JSONAsObject.item1);
因爲它似乎並不奏效 - 我加載頁面,沒有任何反應。
是的,我知道我不應該使用eval。我假設JSON.parse()
的語法與eval的語法相同...對嗎?如果是這樣,如果(修復代碼之後)我用JSON.parse替換eval,它仍然會執行相同的操作嗎?
'JSONString' VS'JSONAsString','JSONAsObject' VS'JSONObject' - 你的變量名是不正確的。除此之外,在解析/評估它之後,它是一個JavaScript對象,而不是JSON(僅僅是挑剔;)),所以'JSONObject'不適合。 – ThiefMaster
假設你有正確的變量名,''eval'字符串導致語法錯誤,因爲'{...}'被解釋爲* block *而不是對象字面量。 –
@ThiefMaster - 這就是爲什麼它是JSON *作爲*(an)對象。 – Bluefire