Перенос публичного контракта из Newtonsoft в System.Text с обратной совместимостью.C#

Место общения программистов C#
Anonymous
Перенос публичного контракта из Newtonsoft в System.Text с обратной совместимостью.

Сообщение Anonymous »

У меня есть контракт, определенный следующим образом:

Код: Выделить всё

using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

public class Foo
{
[JsonProperty("type")]
public int Type { get; set; }

[JsonProperty("value")]
public JObject Value { get; set; }
}

Код: Выделить всё

TypeСвойство 
определяет тип, в который десериализуется значение.
Этот контракт используется двумя отдельными микросервисами.
Один из микросервисов хочет переключиться на системный .Text.Json вместо Newtonsoft, в то время как другой микросервис по-прежнему будет использовать Newtonsoft в течение некоторого времени.
Со свойством Type все в порядке. - Я просто добавляю атрибут JsonPropertyName("type") из System.Text.Json.
Но что делать со свойством Value? Его тип уже является JObject — типом, определенным в Newtonsoft. Как правильно с этим справиться?

Подробнее здесь: https://stackoverflow.com/questions/787 ... ompatibili

Вернуться в «C#»