Де сериализовать и сериализовать, сохраняя смайлики, сбежавшие от Java - PullRequest
0 голосов
/ 12 сентября 2018

Это для работы с Facebook webhooks.

Строка события приходит вот так

{ "объекта": "страница", "запись": [{ "ID": "222222222", "время": 1536713510549, "сообщения": [{ "отправитель": { "ID": "1111111111" }, "получатель": { "ID": "355433484576638"}, "метка": 1536713509901, "сообщение": { "середина": "VnOoUhb2FUTyfnkXtmKgqDCfJlgJPB_n1gj-8aC6ka4-Oo2GjMXS82vHH9ChydJrPX_5Zu3sJ6skCv8JToF1IA", "след": 206765, " текст ":" Jeg m \ u00e5 обнаженный в Jeg Elsker Obosbladet! St \ u00e5 p \ u00e5 Videre! }}]}]}

Это десериализовано с использованием

Dim TestObj As RealTimeEvent  = JsonConvert.DeserializeObject(Of RealTimeEvent)(eventStr)

На этом этапе, если я просматриваю сообщение TestObj в отладчике, я вижу

"Jeg må bare si в jeg elsker Obosbladet! Stå på videre! ??????"

Обратите внимание, что шведские символы были обработаны правильно, но смайлик, который не был выполнен в Java, - это не так.

Если я тогда попытаюсь десериализовать объект

JsonConvert.SerializeObject(TestObj )

Я получаю

{ "" RawEvent "": "" "", "" Объект "": "" страница "", "" запись "": [{ "" идентификатор "": "" 355433484576638 "", "" время "": "" 1536713510549 "", "" изменения "": нулевая "" сообщения "": [{ "" Оптина "": нулевой, "" читать "": нулевой, "" обратной передачи "": нулевой,» "отправитель" ": {" "идентификатор" ":" "975511412531391" "}", "получатель" ": {" "идентификатор" ":" "355433484576638" "}", "метка времени" ":" "1536713509901"» , "" message "": {"" mid "": "VnOoUhb2FUTyfnkXtmKgqDCfJlgJPB_n1gj-8aC6ka4-Oo2GjMXS82vHH9ChydJrPX_5Zu3sJ6skCv" " Си на Джег Элскер Обосбладеть! Stå på videre! ?????? """" вложения "": нулевая}}]}]}

Шведские символы конвертированы .. это то, что я хочу, но у меня нет шансов обработать смайлик

Есть ли в любом случае я сохраняю все, что не понято процессом сериализации Newtonsoft De, но сохраняю преобразование шведских и других символов?

--- Edit-- Добавление объяснения того, что я пытаюсь достичь --- Мне нужно иметь возможность получить доступ к исходному определению смайлика .. " Я интегрируюсь в другую систему, которая вообще не может обрабатывать смайлики. Я написал «переводчик», который будет анализировать текст сообщения в поисках java-экранированных данных. Я беру полное определение смайлика (все пары) и уменьшаю, пока не найду соответствующее определение. Возможно, есть способ указать сериализатору не преобразовывать экранированные значения и сохранять текст сообщения «сырым»? (Я пробовал различные настройки JsonSerializer, но не нашел)

...