Я практикую новый способ синтаксического анализа JSON в Swift 4 и использую API-интерфейс New York Times - мне трудно читать структуру JSON, поскольку на странице API просто отображаетсястена текста
Я написал небольшую структуру для данных, которые я хочу получить (заголовки, аннотации):
struct Stories: Decodable {
let title: String
let abstract: String
}
и вот функция, которую я вызываю, чтобы получитьJSON:
func getJSON() {
let jsonUrlString = "https://api.nytimes.com/svc/topstories/v1/business.json?api-key=f4bf2ee721031a344b84b0449cfdb589:1:73741808"
guard let url = URL(string: jsonUrlString) else {return}
URLSession.shared.dataTask(with: url) { (data, response, err) in
guard let data = data else {return}
do {
let stories = try
JSONDecoder().decode(Stories.self, from: data)
print(stories.title, stories.abstract)
} catch let jsonErr {
print("Error serializing JSON", jsonErr)
}
}.resume()
}
Когда я запускаю приложение, я вижу в консоли свое сообщение об ошибке:
Error serializing JSON keyNotFound(CodingKeys(stringValue: "title", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"title\", intValue: nil) (\"title\").", underlyingError: nil))
Так что похоже, что он не находит значения "title".Что я могу сделать по-другому, неправильно настроил Struct?Или я неправильно использую JSONDecorder?
Спасибо за любую помощь!