Json的Unicode字符解析
我有Unicode字符JSON文件,我无法解析它。我试过在Flash CS5中,JSON库,我试过它在http://json.parser.online.fr/,我总是得到“意想不到的令牌 - 评估失败”Json的Unicode字符解析
对不起,真的有一个语法问题,它来了这种方式来自客户端。
有人可以帮我吗?由于
JSON内容应以Unicode编码。默认的编码是UTF-8。
因此,一个正确编码Unicode字符不应该是一个问题。这使我相信,它的不正确编码(也许它使用的Latin-1,而不是UTF-8)。你是如何创建该文件的?在文本编辑器中?
在asp.net你可能会认为你会使用System.Text.Encoding字符串转换,如“保\提供上门”回像“字符串保罗的”,但我想了好几个小时,并没有发现任何工作。
麻烦是硬编码一个字符串,如上所示已经解码字符串,你会看到如果你把一个断点,所以最后我写了一个函数,将Hex27转换为Dec39,这样我结束了HTML编码并解码。
string Padding = "000";
for (int f = 1; f <= 256; f++)
{
string Hex = "\\u" + Padding.Substring(0, 4 - f.ToString().Length) + f;
string Dec = "&#" + Int32.Parse(f.ToString(), NumberStyles.HexNumber) + ";";
HTML = HTML.Replace(Hex, Dec);
}
HTML = System.Web.HttpUtility.HtmlDecode(HTML);
其丑无比,我知道,但不使用最新的框架(不ISP的服务器上),这是最好的,我可以做的,必须有人知道一个更好的解决方案。
我有同样的问题,我只是更改文件编码类型的Mac罗马/ Windows的1252 UTF-8 ..和它的工作
我曾与Twitter的JSON文件同样的问题。我用json.loads(tweet)在Python中解析它们,但是它的一半记录失败了。
我改成了Python3,现在效果很好。
如果你似乎有一个JSON文件的编码麻烦(即逃过如\u00fc
代码不正确显示,无论编辑器的编码设置)通过用Python json.dump
s
()
产生:默认情况下它编码ASCII和逃脱unicode字符!见python json unicode - how do I eval using javascript(和python: json.dumps can't handle utf-8?和Why does json.dumps escape non-ascii characters with "\uxxxx")。
你确定这是一个unicode问题,而不是json数据本身的问题吗? (语法错误,不完整的文件...) – Jem 2011-05-16 15:15:28