如何將var string = "{email: [email protected]}"
解析爲對象?如何解析對象的字符串?
我已經試過var object = JSON.parse(string);
它返回一個錯誤
Uncaught SyntaxError: Unexpected token e(…)
而且var object eval('(' + string + ')');
無法處理 '@'。
如何將var string = "{email: [email protected]}"
解析爲對象?如何解析對象的字符串?
我已經試過var object = JSON.parse(string);
它返回一個錯誤
Uncaught SyntaxError: Unexpected token e(…)
而且var object eval('(' + string + ')');
無法處理 '@'。
由於您使用了無效的JSON字符串,因此無法將您的字符串轉換爲JavaScript對象。更改
var string = "{email: [email protected]}";
到
var string = '{"email": "[email protected]"}';
或
var string = '{"email": "[email protected]"}';
您可以使用此語法使用JSON
var obj = JSON.parse('{"email":"[email protected]"}');
或這一個與評估和演示
var obj = eval('('+'{email:"[email protected]"}'+')');
感謝@ iam解碼器 - 查看最初問題的評論以獲取更多信息。
兩個成功爲我返回對象的解決方案。
首先 - 保存價值與轉義字符的字符串如下:
var string = "{\"email\": \"[email protected]\"}"
var result = JSON.parse(string);
二 - 只需透過JSON.stringify的對象,而不是建立一個字符串,然後解析:
var string = JSON.stringify(object);
var result = JSON.parse(string);
您的字符串無效JSON。你使用什麼格式? – tcooc
'JSON.parse'不工作,因爲'email'鍵和相應的值需要是字符串才能成爲有效的JSON。如果你只是在學習JSON,或者沒有完全掌握語法,請嘗試通過[JSONLint](http://jsonlint.com/)運行它,它會爲你指出錯誤。 –
這就是說,相反,字符串應該是這樣的: 'var string =「{'email':'[email protected]'}」'? – Wesley