少し問題があります。DataContractJsonSerializer
複雑なタイプ(独自のタイプ)で使用している場合は、正常に機能します。ただし、TimeStampまたはDateTimeを文字列から逆シリアル化する必要があります。したがって、これらのタイプを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.TimeSpanのオブジェクトの逆シリアル化中にエラーが発生しました。予期しない文字'P'が発生しました。"}System.Exception{System.Runtime.Serialization.SerializationException}
そして私の質問はどうすれば逆シリアル化できますか