当我尝试传递以下字符串时出现语法错误:
JSON.parse("[{\"Date\": \"4/4/2016 4:15:19 PM\", \"Message\":\"<h3>New
Message</h3> Generated at 4/4/2016 4:15:19 PM.<br/><br/>Heavy Responsive
URL: <a href=\"https://performingarts.withgoogle.com/en_us\" ></a><br/><br/>
<img src=\"https://s-media-cache-ak0.pinimg.com/236x/06/bd/ac/06bdacc904c12abdce3381ba1404fd7e.jpg\" /> \"} ]");
我知道当我使用双引号时,错误来自链接。
如果我使用单引号然后没有问题,但是数据是从服务器端获得的,我无法控制将要传递的内容,所以我只能控制在我身边。
到目前为止,我从互联网上读到的内容,我尝试了以下内容:
首先使用JSON.stringify
,然后仅使用JSON.parse
。我可以解析
没有问题,但当我尝试循环数据时出现问题。代替
循环它作为JSON,循环将数据作为字符串和循环
每一个文字。
逃避我目前正在做的所有双重报价,但事实并非如此 如上所示工作。但如果我将每个双引号替换为 字面上,我害怕一些假设是双重的信息 引用也将变成文字,这将导致奇怪 看消息。
请告知我还有其他解决办法。
答案 0 :(得分:1)
您在JavaScript字符串文字中嵌入了JSON。
"
和\
是JSON中的特殊字符,也是JavaScript字符串文字中的特殊字符。
href=\"https:
转义JavaScript字符串文字中的"
。然后它变成JSON中的"
。这会导致错误。
如果您想要{J}中的"
作为数据,您必须:
"
(正如您已经做的那样)"
\
以获取JSON
\
href=\\\"https: