Сначала объявите структуру этих типов.
struct Root : Decodable {
let status : String
let totalResults : Int
let articles : [Article]
}
struct Article : Decodable {
{//some key value pairs},
{//some key value pairs}
}
Предположим, что строка json равна jsonStr .Теперь преобразуйте этот json в data
.
let data = Data(jsonStr.utf8)
Теперь попробуйте декодировать эти данные.
let decodedStruct = fromJSON(data)
Вот определение fromJSON()
метода
static func fromJSON(jsonData: Data) -> Root? {
let jsonDecoder = JSONDecoder()
do {
let root = try jsonDecoder.decode(Root.self, from: jsonData)
return root
} catch {
return nil
}
}