ServiceStack.Text версии 5.4.0 по умолчанию сериализация и десериализация значений символов - PullRequest
0 голосов
/ 17 января 2019

Это происходит с JsonSerializer, но не с TypeSerializer.

Сериализация char по умолчанию - "\ u0000", но десериализация этой строки в char - "\".

Это ошибка? или я что-то упустил?

Любой обходной путь? может быть, некоторые JsConfig.SerializeFn и JsConfig.DeSerializeFn?

Я сделал простую программу для проверки:

public class MyObj
{
    public char AChar { get; set; }
}

public static void Main(string[] args)
{
    var obj = new MyObj();
    var json = obj.ToJson();
    System.Console.WriteLine(json);

    var newObj = json.FromJson<MyObj>();

    if (newObj.AChar == obj.AChar)
        System.Console.WriteLine("Ok!");
    else
        System.Console.WriteLine(newObj.ToJson());

}

Спасибо!

1 Ответ

0 голосов
/ 22 января 2019

Эта проблема теперь должна быть решена с this commit .

Это изменение доступно с v5.4.1, которое теперь доступно на MyGet .

...