我想創建一個可以解析成JSON的字符串。該字符串是根據CMS中的內容動態創建的。 該內容可能包含帶雙引號的HTML標記,這會混淆JSON解析器。所以,我需要用"
替換HTML中的雙引號,而不用替換實際上是JSON結構一部分的雙引號。 我的想法是將HTML內部的標記包裹起來,我可以使用它來標識這些標記之間的所有內容,作爲我想要替換的引號。 比如我想解析字符串轉換成JSON看起來是這樣的......JavaScript的正則表達式來查找某些字符之間的雙引號
str = '{"key1":"XXX<div id="divId"></div>YYY", "key2":"XXX<div id="divId"></div>YYY"}';
所以,我想更換XXX和一個"
一個YYY之間的每雙引號。 類似...
str = str.replace(/XXX(")YYY/g, '"');
希望有道理。感謝您的任何建議。
我打算假設回到CMS並讓它/他們寫JSON _correctly_不是一個有效的選項嗎?順便說一句,**非常粗糙**(?:\ w + =(「)|」(?:\ s |>))'儘管如此,這不是正則表達式的工作。而且,恕我直言,如果合同承諾提供JSON,它應該。這就像試圖用太多的逗號來修復錯誤的CSV ... –
感謝Brad的快速響應。你是對的,這不是正則表達式的工作。這只是一個嘗試破解我無法修復的東西。你的答案完美適用於清除html屬性的引用,但我不能認爲innerHTML中也不會有引號。 – graeme
難道你不能只是得到一個更好的JSON解析器嗎?這真的不應該是一個問題。 – Malvolio