Так что вопрос на самом деле очень прост, я уже искал в Google, и много ответов было об использовании enum CodingKeys. Но мой API c требует, чтобы я следовал:
{"result": "yes or no", "info": "any info messages ....", "server_data": {"email ":" xxx@xxx.com ", first_name:" lalala ", .......}}
, что означает, что мне всегда нужно взять содержимое или материал внутри ключа" server_data ", прежде чем я помещу его в JSONDecoder (). Decode (User.self, from: здесь ...)
Поскольку я знаю, что легко сделать как result_from_server ["server_data"] как! [String: Any], чтобы получить данные в ключе "server_data", но это был бы словарь, есть ли простой и надежный способ выбрать данные из ключа "server_data" и сделать что-то (не сложное), а затем поместить их в JSONDecoder (). Decode (User.self, from: in here ...) все еще как Тип данных? Спасибо.
Моя модель пользователя: User.swift:
struct User: Codable {
let email: String
let username: String
let firstName: String
let lastName: String
enum CodingKeys: String, CodingKey {
case email = "email"
case username = "username"
case firstName = "first_name"
case lastName = "last_name"
}
}
Большое спасибо.