Comment puis-je désérialiser les types élémentaires de JSON dans ASP.NET (System.Runtime.Serialization.Json)

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

  •  19-09-2019
  •  | 
  •  

Question

HI! J'ai un petit problème. Lorsque j'utilise DataContractJsonSerializer avec des types complexes (propres types), il fonctionne très bien. Mais je dois désérialiser TimeStamp ou DateTime de chaîne. Donc, je ne peux pas marquer ce type avec DataContract, les attributs DataMember.

J'ai écrit un code


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

Et je prends cette exception

{ "Il y avait une erreur désérialisation l'objet de type System.TimeSpan. Caractère inattendu Rencontrés 'P'."} {System.Exception System.Runtime.Serialization.SerializationException}

Ma question est la Comment puis-je désérialiser

Était-ce utile?

La solution

Vous pouvez essayer avec la bibliothèque Json.Net - il a travaillé assez bien pour nous dans le passé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top