Как обработать ответ с другим типом свойства c # - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть ответ JSON от API, который может содержать другой тип контента (другой тип контента требует другого объекта).Вот как выглядит JSON из ответа API:

{
    "Id": 2,
    "UserContent": [{
            "Id": 10,
            "ContentType": "1",
            "Content": [{
                    "Id": "7",
                    "Question": "Question 1?",
                    "Answer": "Answer 1."
                }, {
                    "Id": "1",
                    "Question": "Question 2?",
                    "Answer": "Answer 2."
                }, {
                    "Id": "6",
                    "Question": "Question 3?",
                    "Answer": "Answer 3."
                }
            ]
        }, {
            "Id": 11,
            "ContentType": "2",
            "Content": {
                "TestScore": "73",
                "TestIsPassed": false
            }
        }
    ]
}

И следующие объекты:

public class ContentDataTransferModel
{
    public int Id { get; set; }
    public List<ContentDataModel> UserContent { get; set; }
}

public class ContentDataModel
{
    public int Id { get; set; }
    public string ContentType { get; set; }

    public WhatShouldBeTheContentType? Content { get; set; }
}

public class ContentDataType1
{
    public int Id { get; set; }
    public string Question { get; set; }
    public string Answer { get; set; }
}

public class ContentDataType2
{
    public string TestScore { get; set; }
    public bool TestIsPassed { get; set; }
}

Как можно динамически переключаться между типами объектов при обработке ответаили это вообще возможно?Я пытался установить для свойства Content объект динамического интерфейса, но у меня нет идей, и я не знаю, возможно ли справиться с таким сценарием.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...