Проблема с анализом значений @odata с помощью Swift - PullRequest
0 голосов
/ 17 февраля 2020

Мой сервисный ответ следующий:

{
"@odata.context" = "https://xxx-d.www.com/odata/$metadata#Members";
"@odata.count" = 1;
 value = ({
        email = "Suamasu@xxx.com";
        memberType = User;
        name = "Suse";
        title = "Manager";
   });
}

Я могу декодировать value, используя Decodable swift, однако мне нужно "@ odata.count" значение, которое будет декодировано из ответа.

struct Members: Decodable {
    let value: [Member]
}

struct Member: Decodable {
    let name: String?
    let email: String
    let memberType: String?
    let title: String?
}

1 Ответ

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

Можете ли вы попытаться добавить ключи кодирования для Участников?

struct Members: Decodable {
    let context: String
    let count: Int
    let value: [Member]

    enum CodingKeys: String, CodingKey {
        case context = "@odata.context"
        case count = "@odata.count"
        case value 
    }
}

Дополнительная информация: https://developer.apple.com/documentation/foundation/archives_and_serialization/encoding_and_decoding_custom_types

...