Конвертировать JSON в заранее определенные динамические модели - PullRequest
0 голосов
/ 12 апреля 2019

Я работаю над проектом, в котором я использую библиотеку Refit для выполнения вызовов Http и анализа данных для конкретных моделей. Это хорошо работает для большинства из них, однако, у меня есть проблема, когда я анализирую Json для предопределенных моделей во время выполнения. В качестве примера приведенный ниже ответ от API может варьироваться в зависимости от того, какие действия должен выполнить пользователь приложения. Мой вопрос заключается в том, как проанализировать поле «действия» от Json для конкретной модели. Я заранее определил все модели, для которых можно сопоставить значения. Как у меня есть «ResetPassword», «TwoFactorAuthnentication» и т. Д. И т. Д. Я хотел бы использовать TypeAdapter или что-то эквивалентное, чтобы иметь возможность анализировать значение для конкретной модели.

Любая помощь будет принята с благодарностью.

   "authorizeActions": [
        {
            "action": "",
            "required": true,
            "webFallback": true
         }
    ]

   "authorizeActions": [
        {
             "action": "resetPassword",
             "required": true,
             "webFallback": true
         }
     ]

Ниже приведена модель, которую я сейчас использую

public class AuthorizeActions
{

    [JsonProperty(PropertyName = "required")]
    public bool Required { get; set; }


    [JsonProperty(PropertyName = "webFallback")]
    public bool WebFallback { get; set; }


    //Here i need to define the action , what I want is to be parsed to a 
    concrete class like, however the value can change, one time it can
    be "ResetPassword" but it can also be "TwoFactorAuthentication" etc etc.

}
...