我需要解析一个php收到的字符串,就像对象文字一样。我正在尝试使用json.parse,但我收到此错误“JSON解析错误:预期']'”。 我不明白为什么,你能看一下这段代码吗?
由于
请注意,此数据变量是php返回仅用于测试的复制/粘贴
var data = "{\"29-05-yyyy\":[\"<li><div class=\"vazio\"></div><div class=\"linha\"><span>Parabéns!</span></div><div class=\"vazio\"></div></li>\"]}";
alert(JSON.parse(data));
答案 0 :(得分:1)
{
"29-05-yyyy": [
"<li><div class=\"vazio\"></div><divclass=\"linha\"><span>Parabéns!</span></div><div class=\"vazio\"></div></li>"
]
}
您必须在内部双引号之前放置所有反斜杠,而不是在双引号或双引号之前。
在此处验证您的json:http://jsonlint.com/
答案 1 :(得分:0)
问题是html属性的引号未正确转义。
你的JSON基本上是这样的:
{"29-05-yyyy":["<li><div class="vazio"></div>...
^ this ends the string
你需要加倍地转义html属性的引号,如下所示:
"{\"29-05-yyyy\":[\"<li><div class=\\\"vazio\\\"></div><div class=\\\"linha\\\"><span>Parabéns!</span></div><div class=\\\"vazio\\\"></div></li>\"]}"
或者,您可以对html属性使用单引号,如下所示:
"{\"29-05-yyyy\":[\"<li><div class='vazio'></div><div class='linha'><span>Parabéns!</span></div><div class='vazio'></div></li>\"]}"
答案 2 :(得分:0)
var data = '{"29-05-yyyy": "<li><divclass=\'vazio\'></div><div class=\'linha\'><span>Parabéns!</span></div><divclass=\'vazio\'></div></li>"}';