Кодирование вложенного объекта, который не имеет вложенного свойства в своей модели - PullRequest
1 голос
/ 27 февраля 2020

Скажем, у меня есть следующая структура:

struct Event: Codable {
    var id: Int
    .... // many non nested fields
}

В моем приложении пользователю разрешено создавать список событий. Как только пользователь закончил, я хотел бы передать этот список на мой сервер через запрос POST.

Для этого мне нужно создать действительный объект JSON, который выглядит следующим образом. Это список Event с начальным ключом "events".

{ "events": [{"id": 1, ... more of the non nested fields ... },{ ... }]}

Как мне настроить мой объект Event таким образом, чтобы JSONEncoder.encode(events) вернул ожидаемый JSON над? Я действительно хотел бы избежать CodingKey для каждого поля, потому что они кодируют, декодируют просто отлично, ожидайте в этих обстоятельствах. Я также хотел бы избежать вложения этого объекта Event в другую структуру с именем Events, чтобы получить желаемый результат.

1 Ответ

1 голос
/ 27 февраля 2020

Вы можете просто закодировать словарь, который связывает ваш массив events с ключом "events"

JSONEncoder.encode(["events": events])
...