C# UTF8编码
我有一个 c# 程序,可以检索一些 JSON 数据并使用 Newtonsoft JSON 对其进行反序列化。 当我在程序中使用波斯字符时,JSON 代码将显示如下:\u060c \u067e\u0644\u0627\u06a9 .... 另外,在我在程序中检索 JSON 数据后,该字符仍然显示为其编码示例。但在我反序列化之后它转换为???字符。
我应该怎么办?
I have a c# program that retrieve some JSON data and use Newtonsoft JSON to Deserialize it.
as i use persian chars in my program the JSON codes will be shown like this:\u060c \u067e\u0644\u0627\u06a9 .... also after i retrive the JSON data in my program this chars still show like its coded sample.but after i Deserialize it converted to ???? chars.
what should i do?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你的 JSON 反序列化器坏了; \uXXXX 应该被转换成正确的字符。
要自己执行此操作,请使用此函数
(未经测试的代码;我目前没有可用的 VS。一些异常处理可能也很好)
Your JSON deserializer is broken; \uXXXX is supposed to be turned into proper characters.
To do that yourself, use this function
(Untested code; I don't have VS available at the moment. Some exception handling would probably be nice too)
看起来它已经被 JSON 编码了,所以你需要解码它。 DataContractJsonSerializer 类可以执行此操作。
有关详细信息,请参阅此 MSDN 链接。
Looks like it has been JSON encoded, so you need to decode it. The DataContractJsonSerializer class can do this.
See this MSDN link for more information.