Swift Codable: как сделать несколько объектов из встроенных данных - PullRequest
0 голосов
/ 06 мая 2018

Скажи, что у меня есть JSON вот так:

    ["conferences": <__NSArrayI 0x60c00002f720>(
    {
        alias = Conference1;
        divisions =     (
                    {
                alias = "Division 1";
                id = "b95cd27d-d631-4fe1-bc05-0ae47fc0b14b";
                name = "Division 1";
                teams =             (
                                    {
                        alias = OXC;
                        id = "768c92aa-75ff-4a43-bcc0-f2798c2e1724";
                        market = East;
                        name = Rams;
                        references =                     (
                                                    {
                                id = Rams;
                                origin = gsis;
                            }
                        );

                    {
                        alias = AXC;
                        id = "768c92aa-75ff-4a43-bcc0-f2798c2e1724";
                        market = East;
                        name = Platypus;
                        references =                     (
                                                    {
                                id = Platypus;
                                origin = gsis;
                            }
                        );

                    },
{
           alias = "Division 2";
                id = "b95cd27d-d631-4fe1-bc05-0ae47fc0b14b";
                name = "Division 2";
                teams =             (
                                    {
                        alias = NXC;
                        id = "768c92aa-75ff-4a43-bcc0-f2798c2e1724";
                        market = West;
                        name = Ants;
                        references =                     (
                                                    {
                                id = Ants;
                                origin = gsis;
                            }
                        );

    {
                        alias = QXC;
                        id = "768c92aa-75ff-4a43-bcc0-f2798c2e1724";
                        market = West;
                        name = Bulls;
                        references =                     (
                                                    {
                                id = Bulls;
                                origin = gsis;
                            }
                        );

                    },
}]

Я не знаю, как создать объект, который содержит данные команды, а также псевдоним Конференции и Отдела.

Я пошел по этому пути, но похоже, что он просто сбросит весь json на объект. Я не хочу этих накладных расходов, очевидно.

struct Team:Codable {

    var arrConference:[Conference]

    private enum CodingKeys: String, CodingKey {
        case arrConference = "conferences"
    }

    struct Conference:Codable {

        var conferenceName:String
        var conferenceID:String

        private enum CodingKeys: String, CodingKey {
            case conferenceName = "alias"
            case conferenceID = "id"
        }
    }

}

Я думаю, что застрял, думая по-старому, но как вы перечисляете данные с помощью кодируемого?

...