Как я могу покинуть элементарные типы от json в asp.net (system.runtime.serialization.json)

StackOverflow https://stackoverflow.com/questions/1721033

  •  19-09-2019
  •  | 
  •  

Вопрос

ЗДРАВСТВУЙ! У меня небольшая проблема. Когда я использую DataContractJsonserializer с сложными типами (собственными типами), он работает нормально. Но я должен десериализовать временной метки или DateTime от String. Так что я не могу отметить эти типы с помощью данных DataContract, атрибутов Datamember.

Я написал какой -нибудь код


string jsonedTS="PT2M15S";

DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(TimeSpan));
MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonedTS));
            try
            {
                result.Takes = (TimeSpan)jsonSerializer.ReadObject(ms);
            }
            catch
            {
                ;
            }

И я поймаю это исключение

{"Была ошибка, десериализующая объект типа System.timesspan. Созначенный неожиданный символ 'p'."} System.exception {System.Runtime.serialization.serializationException}

И мой вопрос в том, как я могу покинуть

Это было полезно?

Решение

Вы можете попробовать с Json.net Библиотека - это работало довольно хорошо для нас в прошлом.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top