JSON преобразования в классы C# если для поля может возвращать разный результат

Здравствуйте.
Есть сайт который через АПИ выдает информацию в виде JSON строки.
Сделал классы, все десериализую в них.
Но вот попалась одна фигня которая поломала все что можно.

есть некий класс:

    public class SubCategoryFullDetail
    {
        ...
        ...
        public string value { get; set; }
       ...
    }

Но сайт для этого поля может возвращать разный результат. В одном случае это просто строка типа “25” а в дргом случае там возвращается JSON объект типа такого:

    public class LinkValue
    {
        public string deeplink { get; set; }
        public string url { get; set; }
    }

Можно ли каким то образом сделать так чтобы JSON сам мог определить в какой класс десериализовать??
Для десериализации использую стандартный System.Text.JSON

Наверно только если самому указывать какой сейчас тип нужен как-то узнав это, типа как тут с дженериками:
c# - Deserializing JSON to a class containing a dynamic property with System.Text.Json - Stack Overflow

Или как-то десереализовывать эту часть во что-нибудь типа dynamic.

хз умеет ли System.Text.JSON менять поведение обработки для какой-то части (а не прямо с корня как в примере выше), Newtonsoft наверно более гибкий.

Эх … пичалька…
Пришлось дополнительные поля делать и геттер налету пробует парсить. Кривенько но не очень хочется сторонние либы пользовать.