将带有转义Unicode字符的JSON字符串转换为JavaScript对象

时间:2015-03-30 06:19:09

标签: javascript json

我有一个JSON字符串,其中包含一个转义的Unicode字符。 JSON包含以下代码段:

I co-ordinate our Chat Literacy network \u2013 an online group for practitioners of Information Literacy

\u2013是一个很长的冲刺。

我正在使用

var theObject = eval ("(" + jsonString + ")");

将JSON字符串转换为JavaScript对象。我需要使用一个没有直接JSON到Object方法的SpiderMonkey版本。

转换后,有问题的字符将成为Unicode控制字符\0013,这是一个无效的UTF-8字符。

我是否有另一种方法可以将JSON转换为保留正确的长短划线字符的对象?也许我可以加载其他一些JSON to Object方法?

其他一些字符也会发生这种情况,例如卷曲引号。

谢谢,

道格

1 个答案:

答案 0 :(得分:2)

eval()是邪恶的。远离它。 尝试使用JSON 3:http://bestiejs.github.io/json3/