【发布时间】:2011-08-23 21:34:43
【问题描述】:
当我尝试解析 JSON 验证字符串时收到此错误(“JSON.parse:意外字符”)。当我删除需要转义的字符(style="width:400px;")时,它工作得很好。我错过了什么?在使用 parseJSON 之前是否有一种独特的方式来转义字符?
var $cookieString = '{"youTabItems": { "youTab-001": <p style=\"width:400px;\">Welcome to my test</p>, "youTab-002": "test02Value", "youTab-003": "test03Value" }}';
var $myCookieString = $.parseJSON($cookieString);
logThis($myCookieString);
更新
在我开始保存/从 cookie 中检索之前,我能够使其大部分工作。现在,它在分号后切断内容......对此有什么想法吗?我正在使用我在 quirsmode.com 上找到的 3 个函数来实现 cookie 功能(如下所示)。
function setCookie(name, value, days) { var date, expires; if (days) { date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); expires = "; expires=" + date.toGMTString(); } else { expires = ""; } document.cookie = name + "=" + value + expires + "; path=/"; }
function getCookie(name) { var nameEQ = name + "=", ca = document.cookie.split(';'), c, i; for (i = 0; i < ca.length; i++) { c = ca[i]; while (c.charAt(0) === ' ') { c = c.substring(1, c.length); } if (c.indexOf(nameEQ) === 0) { return c.substring(nameEQ.length, c.length); } } return null; }
function eraseCookie(name) { setCookie(name, "", -1); }
var cookieObject = {"youTabItems": { "youTab-001": "<p style=\"width:400px;\">Welcome to my test</p>", "youTab-002": "test02Value", "youTab-003": "test03Value" }};
var cookieString = JSON.stringify($cookieVal);
setCookie('youTabItems', cookieString, 28);
【问题讨论】:
-
jsonlint.com 是你的朋友。
标签: jquery json parsing escaping character