Как создать структуру, основанную на следующем коде JSON, чтобы успешно проанализировать его? - PullRequest
0 голосов
/ 19 мая 2019

Я новичок в swift и сталкиваюсь с проблемами при разборе локального файла json. Каждый раз, когда я пытаюсь декодировать файл, появляется следующая ошибка.

keyNotFound (CodingKeys (stringValue: "users", intValue: nil), Swift.DecodingError.Context (codingPath: [], debugDescription: "Нет значения, связанного с ключом CodingKeys (stringValue: \" users \ ", intValue: nil ) (\ "users \"). ", underError: nil)).

Как мне структурировать мою структуру для анализа данных?

{
    "Users": [{

        "name": "John",
        "username": "john1",
        "id": 1
    },
    {

        "name": "Smith",
        "username": "Sm2",
        "id": 2
    },
    {

        "name": "Nishanta",
        "username": "nisacharya",
        "id": 3
    }
    ]
}

1 Ответ

0 голосов
/ 19 мая 2019

В соответствии с ошибкой есть опечатка, Users в верхнем регистре и должна быть преобразована в CodingKey

struct Root : Decodable {
    let users : [User]

    private enum CodingKeys: String, CodingKey {
        case users = "Users"
    }
}

struct User : Decodable {
    let name: String
    let username: String
    let id: Int 
}

И расшифровывать

let result = try JSONDecoder().decode(Root.self, from: data)
let users = result.users
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...