2015-05-08 25 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中的逆转换 –