c# - Facebook json 消息的编码/解码问题。C# 解析
问题描述
我已经用我的对话档案下载了 json。我坚持使用奇怪的编码。
json 示例:
{
"sender_name": "Micha\u00c5\u0082",
"timestamp": 1411741499,
"content": "b\u00c4\u0099d\u00c4\u0099",
"type": "Generic"
},
它应该是这样的:
{
"sender_name": "Michał",
"timestamp": 1411741499,
"content": "będę",
"type": "Generic"
},
我正在尝试像这样反序列化它:
var result = File.ReadAllText(jsonPath, encodingIn);
JavaScriptSerializer serializer = new JavaScriptSerializer();
serializer.MaxJsonLength = Int32.MaxValue;
var conversation = serializer.Deserialize<Conversation>(System.Net.WebUtility.HtmlDecode(result));
不幸的是,输出是这样的:
{
"sender_name": "MichaÅ\u0082",
"timestamp": 1411741499,
"content": "bÄ\u0099dÄ\u0099",
"type": "Generic"
},
有人知道 Facebook 如何编码 json 吗?我尝试了几种方法,但没有结果。
谢谢你的帮助。
解决方案
这是答案:
private string DecodeString(string text)
{
Encoding targetEncoding = Encoding.GetEncoding("ISO-8859-1");
var unescapeText = System.Text.RegularExpressions.Regex.Unescape(text);
return Encoding.UTF8.GetString(targetEncoding.GetBytes(unescapeText));
}
我已经收集了所有答案,将它们混合在一起,我们就在这里。谢谢你。
推荐阅读
- contains - UIPATH - 如果条件是动态的
- javascript - 在 JavaScript 中查找行和列之间的项目
- react-native - 如何在 Android 设备上使用 shadowColor?
- java - maven-jar-plugin 生成带有错误 MANIFEST.MF 的 jar
- python-3.8 - 在 Python 中验证用户输入时出错
- sql - SQL stratascratch facebook 面试题
- json - 在 Logstash 中解析出尴尬的 JSON
- reactjs - 当我按下按钮时,我想添加许多员工,但只留下一个。反应
- java - 在eclipse中从axis2创建Web服务Java代码时,如何从xml响应中删除空名称空间,即xmlns =“”
- python - 正则表达式查找逗号之间包含的特定单词 python