実現したいこと
Swift JSONDecoder()にてネストしたJSONデータを取得したい。
発生している問題・エラーメッセージ
こちらのサイトを参考に
https://qiita.com/kaba/items/6b5d7a1dc29831c6b36f
ネストしたJSONデータを取得して、構造体Flickrの中に格納したいのですが、下記のコードではnilになってしまいます。
print(jsonObject) のところでnilになる
その前の行のdataでpo dataを打つと何かのデータが取れております。
該当のソースコード
Swift
1 2struct Flickr: Decodable { 3 var server: String 4 var id: String 5 var secret: String 6 var owner: String 7 var title: String 8 9 } 10 11 12 override func viewDidLoad() { 13 super.viewDidLoad() 14 15 16 let baseURL = "https://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=7f722a8b5deabe99d5dc7f50cfc6c364&text=cat&sort=interestingness-desc&per_page=12&license=4&extras=owner_name%2Clicense&format=json&nojsoncallback=1" 17 18 19 20 21 request(url: baseURL) 22} 23 24func request(url: String) { 25 AF.request(url, method: .get) 26 .responseJSON{(respons) in switch respons.result { 27 28 29 //データの取得に成功した場合 30 case .success: 31 32 guard let data = respons.data else { 33 return 34 } 35 36 let jsonObject = try? JSONDecoder().decode([Flickr].self, from: data) 37 print(jsonObject) 38 39 case .failure(_): 40 print(".failureブロックに入りました") 41 self.strAPIpath = "errorURL" 42 } 43 } 44 }
試したこと
複数のサイトを見ながら、打ち込んでみたのですが、こちらのURLの先がネスト状態というものなのか?
そこらへんから経験不足でよくわからず、困っております。
件数の項目があるのでこちらを配列形式のように取得したいのですが、こちらのサイトでJSONデータを正しく取得するにはどのように書いたら良いでしょうか?
詳しい方いらっしゃいましたらご教授ください。
宜しくお願いいたします。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/06/28 15:11
退会済みユーザー
2022/06/28 15:54
2022/06/29 10:21
退会済みユーザー
2022/06/29 10:25
2022/06/29 10:33
2022/07/02 02:55
退会済みユーザー
2022/07/03 09:52