Friday, November 6, 2026
HomeiOS Developmentios - Points parsing json from imgut

ios – Points parsing json from imgut

[ad_1]

I’m able to parse and decode knowledge coming from IMGUR web site. Nonetheless when I attempt to print out one of many properties from Knowledge it doesn’t present something. How do I repair this? Additionally I need to entry the contents of photos, particularly the hyperlinks. How can I entry the contents Of the picture because it’s an array?

struct PhotoResponse:Codable {
    let success: Bool
    let standing: Int
    let knowledge: [Data]
}

struct Knowledge:Codable {
    let id: String
    let title: String
    let views: Int
    let hyperlink: String
    let photos: [Image]?
    let animated: Bool?
}


struct Picture: Codable {
    let id: String
    let imageDescription: String?
    let hyperlink: String?
    let dimension: Int
}
class NetworkService{
    static let shared = NetworkService()
    personal let baseURL = "https://api.imgur.com/3/gallery"
    personal init() {}
    
    
    func getJSON( searchName: String, completion: @escaping([Data]) -> Void){
        let endPoints = baseURL + "/search/time/week/?q=(searchName)"
        guard let url = URL(string: endPoints ) else{
            return
        }
        var request =  URLRequest(url: url)
        let headers = ["Authorization": ""]
        
        request.httpMethod = "GET"
        request.allHTTPHeaderFields = headers
        request.addValue("software/json", forHTTPHeaderField: "Content material-Sort")
        request.addValue("software/json", forHTTPHeaderField: "Settle for")
        
        URLSession.shared.dataTask(with: request) { knowledge, response, error in
            if let error = error {
                print("Failed to question database", error)
            }
            guard let knowledge = knowledge else {
                print("Knowledge not acquired(String(describing: error))")
                return
            }
            let decoder = JSONDecoder()
            do{
                let decodedJson = strive decoder.decode(PhotoResponse.self, from: knowledge)
                DispatchQueue.fundamental.async {
                    completion(decodedJson.knowledge)
                }

            }catch let error{
                print("Json did not decode(String(describing: error))")
                return
            }
        }.resume()
    }
 
}

NetworkService.shared.getJSON(searchName: "cat") {  (pictures) in
            for photograph in pictures {
                print(photograph.title)
                print(photograph.id)
            }

[ad_2]

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments