Возникли проблемы с декодированием файла JSON из GitHub API Swift 5.IOS

Программируем под IOS
Ответить
Anonymous
 Возникли проблемы с декодированием файла JSON из GitHub API Swift 5.

Сообщение Anonymous »

Я пытаюсь декодировать формат JSON из API GitHub. URL-адрес API правильный, он возвращает все значения, но JSONdecoder не может их прочитать. Помогите, пожалуйста, что я делаю не так?
Я уже делал JSONDecoder для GitHub API раньше, но мне нужно было только имя пользователя и список репозиториев, но теперь мне нужны подробности о конкретный репозиторий
Есть моя функция для декодирования JSON:

Код: Выделить всё

func getMoreInfo() -> MoreInfo {
var moreInfo = MoreInfo(name: "", moreInfoDescription: "", contributorsURL: "", stargazersCount: 0, language: "", forksCount: 0, license: License(key: "", name: ""), topics: [])

if let url = URL(string: "https://api.github.com/repos/allegro/typescript-strict-plugin"){
URLSession.shared.dataTask(with: url) { data, responde, error in
if let data = data {
do {
moreInfo = try JSONDecoder().decode(MoreInfo.self, from: data)
} catch let error {
print(error)
}
}
}.resume()
}
return moreInfo
}
Вот мои структуры:

Код: Выделить всё

    let name, moreInfoDescription: String
let contributorsURL: String
let stargazersCount: Int
let language: String
let forksCount: Int
let license: License
let topics: [String]

enum CodingKeys: String, CodingKey {
case name
case moreInfoDescription = "description"
case contributorsURL = "contributors_url"
case stargazersCount = "stargazers_count"
case language
case forksCount = "forks_count"
case license, topics
}
}

struct License: Codable {
let key: String
let name: String
}
Существует формат JSON, который возвращается из API GitHub: https://api.github.com/repos/allegro/ty ... ict-plugin
Скажите, пожалуйста, что я делаю не так :)

Подробнее здесь: https://stackoverflow.com/questions/706 ... pi-swift-5
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»