的Javascript与HTML的unicode替换标签炭为JSON解析

问题描述:

在IE10,来解析其含有标签JSON字符串字符它需要是Unicode的Javascript与HTML的unicode替换标签炭为JSON解析

例如:

jsonString="{\"mynameproperty\":\"Chetan Shettigar\"}" 

上述字符串解析失败在IE10因为有一个选项卡字符"Chetan Shettiga"

可接受的字符字符串Chetan	Shettigar

我要寻找一个解决方案它可以替换tab到各自的html unicode。 可能是正则表达式可以解决这个问题,但是有没有其他简单的方法?

+2

应该在json中使用'\ t'作为制表符。 &#9是html编码的,与json没有任何关系。 –

+0

JavaScript字符串文字和JSON字符串文字都可以使用普通标签正常工作,无需转义它们。你会得到什么错误? – Bergi

+0

我曾尝试使用“Chetan \ tShettigar”,它仍然失败。 – Chetan

要使用HTML字符代码	更换所有选项卡,你可以使用replace()功能,像这样:

jsonString="{\"mynameproperty\":\"Chetan Shettigar\"}".replace(/\t/g, '	'); 

尽管在评论中提到,你应该使用\t而不是HTML字符代码,像这样:

jsonString="{\"mynameproperty\":\"Chetan Shettigar\"}".replace(/\t/g, '\\t'); 
+0

谢谢你的回答。在IE10中,\ t不能使用。试了一下,并得到无效的字符错误消息。 – Chetan

试试这个:

var jsonString="{\"mynameproperty\":\"Chetan Shettigar\"}"; 
jsonString = jsonString.replace(/\t/g, "\\t"); 
var obj = JSON.parse(jsonString); 
document.body.innerHTML = obj.mynameproperty; 

DEMO in JSFiddle