簡體   English   中英

JSON.parse得到“Uncaught SyntaxError:Unexpected token h”

[英]JSON.parse get “Uncaught SyntaxError: Unexpected token h”

我嘗試傳遞以下字符串時出現語法錯誤:

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\" /> \"} ]");

我知道當我使用雙引號時,錯誤來自鏈接。

如果我使用單引號然后沒有問題,但數據是從服務器端獲得的,我無法控制將要傳遞的內容,因此我只能控制在我身邊。

從我到目前為止從互聯網上讀到的內容,我嘗試了以下內容:

  1. 首先使用JSON.stringify ,然后只使用JSON.parse 我可以解決沒有問題,但當我嘗試循環數據時出現問題。 循環將數據作為字符串並循環每個單獨的文本,而不是將其循環為JSON。

  2. 逃避我目前正在做的每一個雙重報價,但它沒有如上所示工作。 但是,如果我將每個雙引號替換為字面值,我擔心一些假設為雙引號的消息也將轉換為字面值,這將導致奇怪的消息。

請建議我有什么其他選擇來解決這個問題。

您在JavaScript字符串文字中嵌入了JSON。

"\\是JSON中的特殊字符,也是JavaScript字符串文字中的特殊字符。

href=\\"https:在JavaScript字符串文字中轉義" 然后它變成了"在JSON中。這會導致錯誤。

當您想要"作為JSON中的數據時,您必須:

  • 逃避"為JavaScript(你已經在做)
  • 通過添加\\逃避" for JSON "
  • 逃避\\為JavaScript

href=\\\\\\"https:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM