ドキュメント データベースでストレージ形式として使用され、サービス バス経由で送信される JSON ドキュメントが既に定義されています。
これらは、JSON.NET を使用して具体的なクラスに逆シリアル化されます。追加のデータを保持するために既存のプロパティを変更したいと考えています (たとえば、現在クラスの 1 つに文字列の配列が含まれていますが、文字列とタイムスタンプを含むクラスの配列にしたいと考えています。)
ただし、古いドキュメント形式を逆シリアル化できる必要があります。おそらくカスタムJsonConverter
を使用して、古いドキュメント形式が入ったときに新しいドキュメント形式にシームレスに変換する方法はありますか? シリアル化では、すべてのドキュメントを新しい形式で保存したいと思います。
技術的な詳細を追加するように求められたので、議論のための不自然な例を次に示します。
public class Document
{
public string[] Array { get; set; }
}
これは次のようにアップグレードされます。
public class Document
{
public class Entry
{
public string Value { get; set; }
public DateTime Timestamp { get; set; }
}
public Entry[] Array { get; set; }
}
この例では、入ってくる古い形式の文書はすべて、タイムスタンプがDateTime.UtcNow
.