Проблема кодирования / декодирования с сообщениями json на Facebook.C # разбор - PullRequest
0 голосов
/ 11 июня 2018

Я скачал 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?Я пробовал несколько методов, но безрезультатно.

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 11 июня 2018

Вот ответ:

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));
}

Я собрал все ответы, перепутал их и вот мы здесь.Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...