2021年3月25日星期四

No value associated with key CodingKeys with Unsplash API

Im trying to decode this json using the Unsplash API, but the ContentView is coming up as blank, and if I print the results then I am getting the "No value associated with key CodingKeys" error. Its strange, because I'm following this very new tutorial https://www.youtube.com/watch?v=CmOe9vNopjU. I am very puzzled, because this should be simple, but I am new to swift.

here is the full error

"No value associated with key CodingKeys(stringValue: \"total\", intValue: nil) (\"total\").", underlyingError: nil))  

here is the decoding request

class SearchObjectController : ObservableObject {      static let shared = SearchObjectController()      private init() {}            var token = "my client id"      @Published var results = [Result]()      @Published var searchText : String = "Forest"            func search () {          let url = URL(string: "https://api.unsplash.com/search/photos?query=\(searchText)")          var request = URLRequest(url: url!)          request.httpMethod = "GET"          request.setValue("Client-ID\(token)", forHTTPHeaderField: "Authorization")                    let task = URLSession.shared.dataTask(with: request) { (data, response, error) in              guard let data = data else {return}                            do {                  let res = try JSONDecoder().decode(Results.self, from: data)                  self.results.append(contentsOf: res.results)                  print(self.results)              } catch {                  print(error)              }          }          task.resume()      }  }  

and these are the Structs i created for that request

struct Results : Codable {      var total : Int      var results : [Result]  }    struct Result : Codable {      var id : String      var description : String?      var urls : URLs  }    struct URLs : Codable {      var small : String  }  

the json format for Unplash API Requests looks like this

{    "total": 133,    "total_pages": 7,    "results": [      {        "id": "eOLpJytrbsQ",        "created_at": "2014-11-18T14:35:36-05:00",        "width": 4000,        "height": 3000,        "color": "#A7A2A1",        "blur_hash": "LaLXMa9Fx[D%~q%MtQM|kDRjtRIU",        "likes": 286,        "liked_by_user": false,        "description": "A man drinking a coffee.",        "user": {          "id": "Ul0QVz12Goo",          "username": "ugmonk",          "name": "Jeff Sheldon",          "first_name": "Jeff",          "last_name": "Sheldon",          "instagram_username": "instantgrammer",          "twitter_username": "ugmonk",          "portfolio_url": "http://ugmonk.com/",          "profile_image": {            "small": "https://images.unsplash.com/profile-1441298803695-accd94000cac?ixlib=rb-0.3.5&q=80&fm=jpg&crop=faces&cs=tinysrgb&fit=crop&h=32&w=32&s=7cfe3b93750cb0c93e2f7caec08b5a41",            "medium": "https://images.unsplash.com/profile-1441298803695-accd94000cac?ixlib=rb-0.3.5&q=80&fm=jpg&crop=faces&cs=tinysrgb&fit=crop&h=64&w=64&s=5a9dc749c43ce5bd60870b129a40902f",            "large": "https://images.unsplash.com/profile-1441298803695-accd94000cac?ixlib=rb-0.3.5&q=80&fm=jpg&crop=faces&cs=tinysrgb&fit=crop&h=128&w=128&s=32085a077889586df88bfbe406692202"          },          "links": {            "self": "https://api.unsplash.com/users/ugmonk",            "html": "http://unsplash.com/@ugmonk",            "photos": "https://api.unsplash.com/users/ugmonk/photos",            "likes": "https://api.unsplash.com/users/ugmonk/likes"          }        },        "current_user_collections": [],        "urls": {          "raw": "https://images.unsplash.com/photo-1416339306562-f3d12fefd36f",          "full": "https://hd.unsplash.com/photo-1416339306562-f3d12fefd36f",          "regular": "https://images.unsplash.com/photo-1416339306562-f3d12fefd36f?ixlib=rb-0.3.5&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=1080&fit=max&s=92f3e02f63678acc8416d044e189f515",          "small": "https://images.unsplash.com/photo-1416339306562-f3d12fefd36f?ixlib=rb-0.3.5&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=400&fit=max&s=263af33585f9d32af39d165b000845eb",          "thumb": "https://images.unsplash.com/photo-1416339306562-f3d12fefd36f?ixlib=rb-0.3.5&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=200&fit=max&s=8aae34cf35df31a592f0bef16e6342ef"        },        "links": {          "self": "https://api.unsplash.com/photos/eOLpJytrbsQ",          "html": "http://unsplash.com/photos/eOLpJytrbsQ",          "download": "http://unsplash.com/photos/eOLpJytrbsQ/download"        }      },      // more photos ...    ]  }  
https://stackoverflow.com/questions/66809488/no-value-associated-with-key-codingkeys-with-unsplash-api March 26, 2021 at 08:39AM

没有评论:

发表评论