2015-05-08 26 views
0

我在服務器端渲染字符串javascript變量init語句(使用ASP MVC,但我認爲它不重要)字符串變量內容是服務器端的有效JSON,並且已編碼當呈現爲HTML。我的渲染聲明是這樣的:在字符串中解碼字符串以在JavaScript或jQuery中生效JSON

var myvariable = '{"prefix":"","name":"Grid&... 

Quatation痕等特殊字符進行編碼爲HTML實體,這是完全正常的,除非該編碼的變量聲明將被語法不正確。

但是我必須找回客戶端的原始字符串內容,這在服務器端是正確的JSON。我怎樣才能用javascript或jQuery來完成這項工作? (請注意,然後我知道如何從JSON獲取JavaScript對象,我不是這麼要求的)

回答

1

如何

var myjsonobject = JSON.parse(decodeHtml(myvariable)); 
function decodeHtml(html) { 
    var txt = document.createElement("textarea"); 
    txt.innerHTML = html; 
    return txt.value; 
} 

請注意,這不是測試

編輯:?測試它 https://jsfiddle.net/Lmz20s5z/

EDIT2:*請參閱控制檯日誌結果

0

在服務器端,您可以使用退格符「轉義引號」,那麼您可以只執行JSON.parse(字符串)該字符串客戶方

JSON.parse('{\"prefix\":\"\",\"name\":\"Grid\"}'); 
+0

不僅引號是有的,但腳本部分也。我不想重新發明輪子,ASP MVC有服務器端的基礎設施,通過轉義所有特殊的html實體來呈現正確的html字符串。現在我正在尋找JavaScript或jQuery中的逆轉換 –