0

I have api it returns json response(https://pixabay.com/api/?key=10961259-e4e939648ed5abb6879f1fbbc&q=yellow+flowers&image_type=photo)

I want to access parameters(webformatURL, tags) from the response. I made URL session request and getting data is like below. How can i query and access those parameters from the response in swift. I'm new to programming please suggest me in swift.

//Mark:- Method to fetch data from the url
func getDataFromUrl(){
    let url = URL(string: "https://pixabay.com/api/?key=10961259-e4e939648ed5abb6879f1fbbc&q=yellow+flowers&image_type=photo")
    let request = NSMutableURLRequest(url: url!)
    request.httpMethod = "GET"
    let session = URLSession.shared
    let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
        if error == nil
        {
            do
            {
                let respDict = try JSONSerialization.jsonObject(with: data!, options: JSONSerialization.ReadingOptions.allowFragments) 

                print("Some Data: \(respDict)")

            }
            catch let error2 as NSError
            {
                print(error2)
            }
        }
    })
    dataTask.resume()
}

And the response is:

{
"totalHits": 500,
"hits": [
    {
        "largeImageURL": "https://pixabay.com/get/ea35b70c2afc053ed1584d05fb1d4796ea71e3d71cb80c4090f4c57ca4e4b6b8df_1280.jpg",
        "webformatHeight": 426,
        "webformatWidth": 640,
        "likes": 848,
        "imageWidth": 6000,
        "id": 3063284,
        "user_id": 1564471,
        "views": 476351,
        "comments": 191,
        "pageURL": "https://pixabay.com/en/rose-flower-petal-floral-noble-3063284/",
        "imageHeight": 4000,
        "webformatURL": "https://pixabay.com/get/ea35b70c2afc053ed1584d05fb1d4796ea71e3d71cb80c4090f4c57ca4e4b6b8df_640.jpg",
        "type": "photo",
        "previewHeight": 99,
        "tags": "rose, flower, petal",
        "downloads": 288342,
        "user": "annca",
        "favorites": 720,
        "imageSize": 3574625,
        "previewWidth": 150,
        "userImageURL": "https://cdn.pixabay.com/user/2015/11/27/06-58-54-609_250x250.jpg",
        "previewURL": "https://cdn.pixabay.com/photo/2018/01/05/16/24/rose-3063284_150.jpg"
    },
    {
        "largeImageURL": "https://pixabay.com/get/ea34b00c2bf5093ed1584d05fb1d4796ea71e3d71cb80c4090f4c57ca4e4b6b8df_1280.jpg",
        "webformatHeight": 426,
        "webformatWidth": 640,
        "likes": 706,
        "imageWidth": 2736,
        "id": 3113318,
        "user_id": 7410713,
        "views": 342627,
        "comments": 113,
        "pageURL": "https://pixabay.com/en/sunflower-nature-flora-flower-3113318/",
        "imageHeight": 1824,
        "webformatURL": "https://pixabay.com/get/ea34b00c2bf5093ed1584d05fb1d4796ea71e3d71cb80c4090f4c57ca4e4b6b8df_640.jpg",
        "type": "photo",
        "previewHeight": 99,
        "tags": "sunflower, nature, flora",
        "downloads": 242156,
        "user": "bichnguyenvo",
        "favorites": 454,
        "imageSize": 1026006,
        "previewWidth": 150,
        "userImageURL": "https://cdn.pixabay.com/user/2017/12/16/10-28-39-199_250x250.jpg",
        "previewURL": "https://cdn.pixabay.com/photo/2018/01/28/11/24/sunflower-3113318_150.jpg"
    },
    {
        "largeImageURL": "https://pixabay.com/get/ea37b80d21f7033ed1584d05fb1d4796ea71e3d71cb80c4090f4c57ca4e4b6b8df_1280.jpg",
        "webformatHeight": 400,
        "webformatWidth": 640,
        "likes": 434,
        "imageWidth": 3200,
        "id": 3292932,
        "user_id": 2216431,
        "views": 184738,
        "comments": 34,
        "pageURL": "https://pixabay.com/en/sunflower-vase-vintage-retro-wall-3292932/",
        "imageHeight": 2000,
        "webformatURL": "https://pixabay.com/get/ea37b80d21f7033ed1584d05fb1d4796ea71e3d71cb80c4090f4c57ca4e4b6b8df_640.jpg",
        "type": "photo",
        "previewHeight": 93,
        "tags": "sunflower, vase, vintage",
        "downloads": 146666,
        "user": "Yuri_B",
        "favorites": 593,
        "imageSize": 2563708,
        "previewWidth": 150,
        "userImageURL": "https://cdn.pixabay.com/user/2018/01/15/10-52-15-382_250x250.png",
        "previewURL": "https://cdn.pixabay.com/photo/2018/04/05/14/09/sun-flower-3292932_150.jpg"
    },
    {
        "largeImageURL": "https://pixabay.com/get/eb37b80a2cf7053ed1584d05fb1d4796ea71e3d71cb80c4090f4c57ca4e4b6b8df_1280.jpg",
        "webformatHeight": 426,
        "webformatWidth": 640,
        "likes": 486,
        "imageWidth": 5363,
        "id": 2295434,
        "user_id": 334088,
        "views": 54291,
        "comments": 33,
        "pageURL": "https://pixabay.com/en/spring-bird-bird-tit-spring-blue-2295434/",
        "imageHeight": 3575,
        "webformatURL": "https://pixabay.com/get/eb37b80a2cf7053ed1584d05fb1d4796ea71e3d71cb80c4090f4c57ca4e4b6b8df_640.jpg",
        "type": "photo",
        "previewHeight": 99,
        "tags": "spring bird, bird, tit",
        "downloads": 25018,
        "user": "jill111",
        "favorites": 548,
        "imageSize": 2938651,
        "previewWidth": 150,
        "userImageURL": "https://cdn.pixabay.com/user/2018/06/27/01-23-02-27_250x250.jpg",
        "previewURL": "https://cdn.pixabay.com/photo/2017/05/08/13/15/spring-bird-2295434_150.jpg"
    },
    {
        "largeImageURL": "https://pixabay.com/get/ee34b40a2cf41c22d2524518b74d469fe576e0d010ac104491f4c47aaeeeb5bf_1280.jpg",
        "webformatHeight": 360,
        "webformatWidth": 640,
        "likes": 258,
        "imageWidth": 3020,
        "id": 715540,
        "user_id": 916237,
        "views": 82194,
        "comments": 31,
        "pageURL": "https://pixabay.com/en/yellow-natural-flower-blossom-715540/",
        "imageHeight": 1703,
        "webformatURL": "https://pixabay.com/get/ee34b40a2cf41c22d2524518b74d469fe576e0d010ac104491f4c47aaeeeb5bf_640.jpg",
        "type": "photo",
        "previewHeight": 84,
        "tags": "yellow, natural, flower",
        "downloads": 39827,
        "user": "Wow_Pho",
        "favorites": 256,
        "imageSize": 974940,
        "previewWidth": 150,
        "userImageURL": "https://cdn.pixabay.com/user/2015/04/07/14-10-15-590_250x250.jpg",
        "previewURL": "https://cdn.pixabay.com/photo/2015/04/10/00/41/yellow-715540_150.jpg"
    },
    {
        "largeImageURL": "https://pixabay.com/get/ea37b00a29fc093ed1584d05fb1d4796ea71e3d71cb80c4090f4c57ca4e4b6b8df_1280.jpg",
        "webformatHeight": 358,
        "webformatWidth": 640,
        "likes": 336,
        "imageWidth": 2027,
        "id": 3215188,
        "user_id": 7097598,
        "views": 135865,
        "comments": 94,
        "pageURL": "https://pixabay.com/en/flowers-orange-orange-petals-3215188/",
        "imageHeight": 1134,
        "webformatURL": "https://pixabay.com/get/ea37b00a29fc093ed1584d05fb1d4796ea71e3d71cb80c4090f4c57ca4e4b6b8df_640.jpg",
        "type": "photo",
        "previewHeight": 83,
        "tags": "flowers, orange, orange petals",
        "downloads": 93385,
        "user": "Candiix",
        "favorites": 274,
        "imageSize": 399066,
        "previewWidth": 150,
        "userImageURL": "https://cdn.pixabay.com/user/2017/12/06/20-08-45-84_250x250.jpg",
        "previewURL": "https://cdn.pixabay.com/photo/2018/03/10/20/26/flowers-3215188_150.jpg"
    },
    {
        "largeImageURL": "https://pixabay.com/get/e830b20928fc093ed1584d05fb1d4796ea71e3d71cb80c4090f4c57ca4e4b6b8df_1280.jpg",
        "webformatHeight": 419,
        "webformatWidth": 640,
        "likes": 235,
        "imageWidth": 4896,
        "id": 1536088,
        "user_id": 1195798,
        "views": 268764,
        "comments": 53,
        "pageURL": "https://pixabay.com/en/sunflower-flower-bloom-yellow-1536088/",
        "imageHeight": 3208,
        "webformatURL": "https://pixabay.com/get/e830b20928fc093ed1584d05fb1d4796ea71e3d71cb80c4090f4c57ca4e4b6b8df_640.jpg",
        "type": "photo",
        "previewHeight": 98,
        "tags": "sunflower, flower, bloom",
        "downloads": 40996,
        "user": "Couleur",
        "favorites": 203,
        "imageSize": 5103399,
        "previewWidth": 150,
        "userImageURL": "https://cdn.pixabay.com/user/2018/09/29/00-20-33-645_250x250.jpg",
        "previewURL": "https://cdn.pixabay.com/photo/2016/07/23/00/12/sun-flower-1536088_150.jpg"
    },
    {
        "largeImageURL": "https://pixabay.com/get/eb34b50a2df7083ed1584d05fb1d4796ea71e3d71cb80c4090f4c57ca4e4b6b8df_1280.jpg",
        "webformatHeight": 390,
        "webformatWidth": 640,
        "likes": 306,
        "imageWidth": 4000,
        "id": 2145539,
        "user_id": 2364555,
        "views": 36019,
        "comments": 27,
        "pageURL": "https://pixabay.com/en/crocus-flower-wet-spring-2145539/",
        "imageHeight": 2443,
        "webformatURL": "https://pixabay.com/get/eb34b50a2df7083ed1584d05fb1d4796ea71e3d71cb80c4090f4c57ca4e4b6b8df_640.jpg",
        "type": "photo",
        "previewHeight": 91,
        "tags": "crocus, flower, wet",
        "downloads": 20750,
        "user": "pixel2013",
        "favorites": 286,
        "imageSize": 823922,
        "previewWidth": 150,
        "userImageURL": "https://cdn.pixabay.com/user/2018/02/25/16-46-24-974_250x250.jpg",
        "previewURL": "https://cdn.pixabay.com/photo/2017/03/15/09/00/crocus-2145539_150.jpg"
    },
    {
        "largeImageURL": "https://pixabay.com/get/ec33b50e2ce90021d85a5854e74c4f90e275e7dc04b0144591f5c270a4edb2_1280.jpg",
        "webformatHeight": 428,
        "webformatWidth": 640,
        "likes": 436,
        "imageWidth": 3872,
        "id": 56414,
        "user_id": 9003,
        "views": 57529,
        "comments": 75,
        "pageURL": "https://pixabay.com/en/anemone-flower-blossom-bloom-blue-56414/",
        "imageHeight": 2592,
        "webformatURL": "https://pixabay.com/get/ec33b50e2ce90021d85a5854e74c4f90e275e7dc04b0144591f5c270a4edb2_640.jpg",
        "type": "photo",
        "previewHeight": 100,
        "tags": "anemone, flower, blossom",
        "downloads": 20907,
        "user": "Albenheim",
        "favorites": 364,
        "imageSize": 770723,
        "previewWidth": 150,
        "userImageURL": "https://cdn.pixabay.com/user/2012/09/08/21-14-56-990_250x250.jpg",
        "previewURL": "https://cdn.pixabay.com/photo/2012/09/08/21/51/anemone-56414_150.jpg"
    },
    {
        "largeImageURL": "https://pixabay.com/get/e830b00d20f5023ed1584d05fb1d4796ea71e3d71cb80c4090f4c57ca4e4b6b8df_1280.jpg",
        "webformatHeight": 323,
        "webformatWidth": 640,
        "likes": 211,
        "imageWidth": 3861,
        "id": 1512813,
        "user_id": 2364555,
        "views": 63538,
        "comments": 22,
        "pageURL": "https://pixabay.com/en/lily-flowers-early-flower-garden-1512813/",
        "imageHeight": 1952,
        "webformatURL": "https://pixabay.com/get/e830b00d20f5023ed1584d05fb1d4796ea71e3d71cb80c4090f4c57ca4e4b6b8df_640.jpg",
        "type": "photo",
        "previewHeight": 75,
        "tags": "lily, flowers, early",
        "downloads": 31782,
        "user": "pixel2013",
        "favorites": 209,
        "imageSize": 1037708,
        "previewWidth": 150,
        "userImageURL": "https://cdn.pixabay.com/user/2018/02/25/16-46-24-974_250x250.jpg",
        "previewURL": "https://cdn.pixabay.com/photo/2016/07/12/18/54/lily-1512813_150.jpg"
    },
    {
        "largeImageURL": "https://pixabay.com/get/ee37b80a29f11c22d2524518b74d469fe576e0d010ac104491f4c47aaeeeb5bf_1280.jpg",
        "webformatHeight": 416,
        "webformatWidth": 640,
        "likes": 269,
        "imageWidth": 1980,
        "id": 729515,
        "user_id": 909086,
        "views": 33664,
        "comments": 17,
        "pageURL": "https://pixabay.com/en/flower-beautiful-bloom-blooming-729515/",
        "imageHeight": 1288,
        "webformatURL": "https://pixabay.com/get/ee37b80a29f11c22d2524518b74d469fe576e0d010ac104491f4c47aaeeeb5bf_640.jpg",
        "type": "photo",
        "previewHeight": 97,
        "tags": "flower, beautiful, bloom",
        "downloads": 21810,
        "user": "Bess-Hamiti",
        "favorites": 348,
        "imageSize": 370390,
        "previewWidth": 150,
        "userImageURL": "https://cdn.pixabay.com/user/2017/09/19/10-02-47-777_250x250.jpg",
        "previewURL": "https://cdn.pixabay.com/photo/2015/04/19/08/33/flower-729515_150.jpg"
    },
    {
        "largeImageURL": "https://pixabay.com/get/e83cb60d2cf5003ed1584d05fb1d4796ea71e3d71cb80c4090f4c57ca4e4b6b8df_1280.jpg",
        "webformatHeight": 372,
        "webformatWidth": 640,
        "likes": 247,
        "imageWidth": 4288,
        "id": 1972411,
        "user_id": 1777190,
        "views": 84036,
        "comments": 29,
        "pageURL": "https://pixabay.com/en/drip-blossom-bloom-yellow-1972411/",
        "imageHeight": 2499,
        "webformatURL": "https://pixabay.com/get/e83cb60d2cf5003ed1584d05fb1d4796ea71e3d71cb80c4090f4c57ca4e4b6b8df_640.jpg",
        "type": "photo",
        "previewHeight": 87,
        "tags": "drip, blossom, bloom",
        "downloads": 71846,
        "user": "susannp4",
        "favorites": 244,
        "imageSize": 1510459,
        "previewWidth": 150,
        "userImageURL": "https://cdn.pixabay.com/user/2015/12/16/17-56-55-832_250x250.jpg",
        "previewURL": "https://cdn.pixabay.com/photo/2017/01/11/17/27/drip-1972411_150.jpg"
    },
    {
        "largeImageURL": "https://pixabay.com/get/e834b30829f3053ed1584d05fb1d4796ea71e3d71cb80c4090f4c57ca4e4b6b8df_1280.jpg",
        "webformatHeight": 426,
        "webformatWidth": 640,
        "likes": 338,
        "imageWidth": 4752,
        "id": 1127174,
        "user_id": 1445608,
        "views": 93274,
        "comments": 24,
        "pageURL": "https://pixabay.com/en/sunflower-summer-yellow-nature-1127174/",
        "imageHeight": 3168,
        "webformatURL": "https://pixabay.com/get/e834b30829f3053ed1584d05fb1d4796ea71e3d71cb80c4090f4c57ca4e4b6b8df_640.jpg",
        "type": "photo",
        "previewHeight": 99,
        "tags": "sunflower, summer, yellow",
        "downloads": 55774,
        "user": "mploscar",
        "favorites": 341,
        "imageSize": 3922163,
        "previewWidth": 150,
        "userImageURL": "https://cdn.pixabay.com/user/2016/01/05/14-08-20-943_250x250.jpg",
        "previewURL": "https://cdn.pixabay.com/photo/2016/01/08/05/24/sunflower-1127174_150.jpg"
    },
    {
        "largeImageURL": "https://pixabay.com/get/e834b2082bf11c22d2524518b74d469fe576e0d010ac104491f4c47aaeeeb5bf_1280.jpg",
        "webformatHeight": 355,
        "webformatWidth": 640,
        "likes": 167,
        "imageWidth": 2410,
        "id": 113735,
        "user_id": 817,
        "views": 91032,
        "comments": 29,
        "pageURL": "https://pixabay.com/en/rose-flower-yellow-yellow-rose-113735/",
        "imageHeight": 1337,
        "webformatURL": "https://pixabay.com/get/e834b2082bf11c22d2524518b74d469fe576e0d010ac104491f4c47aaeeeb5bf_640.jpg",
        "type": "photo",
        "previewHeight": 83,
        "tags": "rose, flower, yellow",
        "downloads": 13679,
        "user": "blizniak",
        "favorites": 152,
        "imageSize": 299425,
        "previewWidth": 150,
        "userImageURL": "https://cdn.pixabay.com/user/2013/06/28/17-07-05-714_250x250.jpg",
        "previewURL": "https://cdn.pixabay.com/photo/2013/05/26/12/14/rose-113735_150.jpg"
    },
    {
        "largeImageURL": "https://pixabay.com/get/e836b00629f5053ed1584d05fb1d4796ea71e3d71cb80c4090f4c57ca4e4b6b8df_1280.jpg",
        "webformatHeight": 426,
        "webformatWidth": 640,
        "likes": 249,
        "imageWidth": 4272,
        "id": 1319114,
        "user_id": 485024,
        "views": 87475,
        "comments": 24,
        "pageURL": "https://pixabay.com/en/girl-flowers-yellow-beauty-nature-1319114/",
        "imageHeight": 2848,
        "webformatURL": "https://pixabay.com/get/e836b00629f5053ed1584d05fb1d4796ea71e3d71cb80c4090f4c57ca4e4b6b8df_640.jpg",
        "type": "photo",
        "previewHeight": 99,
        "tags": "girl, flowers, yellow",
        "downloads": 41303,
        "user": "AdinaVoicu",
        "favorites": 263,
        "imageSize": 3837334,
        "previewWidth": 150,
        "userImageURL": "https://cdn.pixabay.com/user/2018/12/07/21-49-54-663_250x250.jpg",
        "previewURL": "https://cdn.pixabay.com/photo/2016/04/09/23/10/girl-1319114_150.jpg"
    },
    {
        "largeImageURL": "https://pixabay.com/get/ea32b30f2bfc023ed1584d05fb1d4796ea71e3d71cb80c4090f4c57ca4e4b6b8df_1280.jpg",
        "webformatHeight": 426,
        "webformatWidth": 640,
        "likes": 108,
        "imageWidth": 6000,
        "id": 3720383,
        "user_id": 6246704,
        "views": 16075,
        "comments": 32,
        "pageURL": "https://pixabay.com/en/flower-g%C3%A9rbel-yellow-flower-flower-3720383/",
        "imageHeight": 4000,
        "webformatURL": "https://pixabay.com/get/ea32b30f2bfc023ed1584d05fb1d4796ea71e3d71cb80c4090f4c57ca4e4b6b8df_640.jpg",
        "type": "photo",
        "previewHeight": 99,
        "tags": "flower gérbel, yellow flower, flower",
        "downloads": 9864,
        "user": "fernandozhiminaicela",
        "favorites": 81,
        "imageSize": 2117262,
        "previewWidth": 150,
        "userImageURL": "https://cdn.pixabay.com/user/2018/06/04/17-13-01-772_250x250.jpg",
        "previewURL": "https://cdn.pixabay.com/photo/2018/10/03/03/42/flower-gerbel-3720383_150.jpg"
    },
    {
        "largeImageURL": "https://pixabay.com/get/ea35b40f28f3073ed1584d05fb1d4796ea71e3d71cb80c4090f4c57ca4e4b6b8df_1280.jpg",
        "webformatHeight": 426,
        "webformatWidth": 640,
        "likes": 285,
        "imageWidth": 5472,
        "id": 3050076,
        "user_id": 6663646,
        "views": 131773,
        "comments": 28,
        "pageURL": "https://pixabay.com/en/portrait-girl-fog-flowers-beauty-3050076/",
        "imageHeight": 3648,
        "webformatURL": "https://pixabay.com/get/ea35b40f28f3073ed1584d05fb1d4796ea71e3d71cb80c4090f4c57ca4e4b6b8df_640.jpg",
        "type": "photo",
        "previewHeight": 99,
        "tags": "portrait, girl, fog",
        "downloads": 92671,
        "user": "ThuyHaBich",
        "favorites": 283,
        "imageSize": 2914111,
        "previewWidth": 150,
        "userImageURL": "https://cdn.pixabay.com/user/2017/11/17/08-35-57-188_250x250.jpg",
        "previewURL": "https://cdn.pixabay.com/photo/2017/12/30/13/25/portrait-3050076_150.jpg"
    },
    {
        "largeImageURL": "https://pixabay.com/get/ec37b20a20e90021d85a5854e74c4f90e275e7dc04b0144591f5c270a4edb2_1280.jpg",
        "webformatHeight": 360,
        "webformatWidth": 640,
        "likes": 179,
        "imageWidth": 1920,
        "id": 52358,
        "user_id": 5783,
        "views": 28923,
        "comments": 20,
        "pageURL": "https://pixabay.com/en/flower-wild-flower-nature-52358/",
        "imageHeight": 1080,
        "webformatURL": "https://pixabay.com/get/ec37b20a20e90021d85a5854e74c4f90e275e7dc04b0144591f5c270a4edb2_640.jpg",
        "type": "photo",
        "previewHeight": 84,
        "tags": "flower, wild flower, nature",
        "downloads": 10460,
        "user": "PeterDargatz",
        "favorites": 154,
        "imageSize": 172383,
        "previewWidth": 150,
        "userImageURL": "https://cdn.pixabay.com/user/2012/06/22/22-42-41-494_250x250.jpg",
        "previewURL": "https://cdn.pixabay.com/photo/2012/07/12/14/50/flower-52358_150.jpg"
    },
    {
        "largeImageURL": "https://pixabay.com/get/eb31b10b2ff2083ed1584d05fb1d4796ea71e3d71cb80c4090f4c57ca4e4b6b8df_1280.jpg",
        "webformatHeight": 427,
        "webformatWidth": 640,
        "likes": 204,
        "imageWidth": 6016,
        "id": 2404769,
        "user_id": 4331363,
        "views": 29872,
        "comments": 21,
        "pageURL": "https://pixabay.com/en/summer-field-nature-cereals-2404769/",
        "imageHeight": 4016,
        "webformatURL": "https://pixabay.com/get/eb31b10b2ff2083ed1584d05fb1d4796ea71e3d71cb80c4090f4c57ca4e4b6b8df_640.jpg",
        "type": "photo",
        "previewHeight": 100,
        "tags": "summer, field, nature",
        "downloads": 12788,
        "user": "geraldfriedrich2",
        "favorites": 257,
        "imageSize": 4290219,
        "previewWidth": 150,
        "userImageURL": "https://cdn.pixabay.com/user/2017/02/22/12-32-00-453_250x250.jpg",
        "previewURL": "https://cdn.pixabay.com/photo/2017/06/15/10/25/summer-2404769_150.jpg"
    },
    {
        "largeImageURL": "https://pixabay.com/get/ea33b50f21f7043ed1584d05fb1d4796ea71e3d71cb80c4090f4c57ca4e4b6b8df_1280.jpg",
        "webformatHeight": 426,
        "webformatWidth": 640,
        "likes": 213,
        "imageWidth": 5574,
        "id": 3640935,
        "user_id": 334088,
        "views": 103667,
        "comments": 54,
        "pageURL": "https://pixabay.com/en/sunflowers-field-woman-yellow-3640935/",
        "imageHeight": 3717,
        "webformatURL": "https://pixabay.com/get/ea33b50f21f7043ed1584d05fb1d4796ea71e3d71cb80c4090f4c57ca4e4b6b8df_640.jpg",
        "type": "photo",
        "previewHeight": 99,
        "tags": "sunflowers, field, woman",
        "downloads": 86701,
        "user": "jill111",
        "favorites": 186,
        "imageSize": 4970597,
        "previewWidth": 150,
        "userImageURL": "https://cdn.pixabay.com/user/2018/06/27/01-23-02-27_250x250.jpg",
        "previewURL": "https://cdn.pixabay.com/photo/2018/08/29/22/52/sunflowers-3640935_150.jpg"
    }
],
"total": 17148
}

4 Answers 4

5

You are getting one JSON object with keys:

  1. totalHits
  2. hits
  3. total

In the above three keys, value of https is another JSON array having many json objects inside it. you can get that object by

      let respDict = try JSONSerialization.jsonObject(with: data!, options: JSONSerialization.ReadingOptions.allowFragments) as! [String:Any]
                let httpDictArray = respDict["hits"] as! [Any]
                for dictionary in httpDictArray{
                    if let dict = dictionary as? [String:Any]
                    {
                        let webFormatUrl = dict["webformatURL"] as! String
                        let tags = dict["tags"] as! String
                    }

                }

Here tags is a string which is a concatenation of many words separated by comma. so from tags string you can get the array of tags as

let tagArray = tags.components(separatedBy: ", ")
Sign up to request clarification or add additional context in comments.

1 Comment

I have updated the code. Please try it now. Thanks!
3

The Decodable protocol is the most convenient way to parse JSON in Swift 4+

struct Root : Decodable {
    let totalHits : Int
    let hits : [Hit]
}

struct Hit : Decodable {
    let webformatURL : URL
    let tags : String
}


func getDataFromUrl() {
    let url = URL(string: "https://pixabay.com/api/?key=10961259-e4e939648ed5abb6879f1fbbc&q=yellow+flowers&image_type=photo")
    let session = URLSession.shared
    let dataTask = session.dataTask(with: url!) { data, response, error in
        guard let data = data else { print(error!); return }
        do {
            let result = try JSONDecoder().decode(Root.self, from: data)
            let hits = result.hits
            for hit in hits {
                print("webformatURL: ", hit.webformatURL, "tags:", hit.tags)
            }
        } catch {
            print(error)
        }
    }
    dataTask.resume()
}

getDataFromUrl()

Note:

An URLRequest is not needed in this case and don't use NSMutableURLRequest in Swift anyway.

Comments

0

Now that you have your response in a dictionary, you can do the following to get the hits:

guard let results = respDict as? [String: Any],
    let hits = results["hits"] as? Array<[String:Any]> else { 
    return 
}

Now, when you have the hits, let's transform this array of objects into two array. array of urls, and array of tags.

let urls = hits.flatMap { $0["webformatURL"] as? String }
let tags = hits.flatMap { $0["tags"] as? String }

There you go!

Comments

0

Here is the simple approach,

struct HitResponse: Codable {
    var total: Int
    var totalHits: Int
    var hits: [HitObject]
}

struct HitObject: Codable {
    var largeImageURL: String
    var webformatHeight: Int
    var webformatWidth: Int
    var likes: Int
    var imageWidth: Int
    var id: Int
    var user_id: Int
    var views: Int
    var comments: Int
    var pageURL: String
    var imageHeight: Int
    var webformatURL: String
    var type: String
    var previewHeight: Int
    var tags: String
    var downloads: Int
    var user: String
    var favorites: Int
    var imageSize: Int
    var previewWidth: Int
    var userImageURL: String
    var previewURL: String
}


enum APIResponse {
    case success(result: Result)
    case error(error: Error)
}

struct Result{
    var object: Any
}


class APIRequester {
    static func request(for url: URL, completionHandler: @escaping (_ response: APIResponse)->Void) {
        let sesseion = URLSession.shared
        let task = sesseion.dataTask(with: url) { (data, urlResponse, error) in
            // data mapping to model
            if let lData = data {
                do {
                    let decode = try JSONDecoder().decode(HitResponse.self, from: lData)
                    let responseMap: APIResponse = .success(result: Result(object: decode))
                    completionHandler(responseMap)
                }catch let mappingError {
                    let responseMap: APIResponse = .error(error: mappingError)
                    completionHandler(responseMap)
                }
            }


            //fall back original error
            let responseMap: APIResponse = .error(error: error!)
            completionHandler(responseMap)
        }
        task.resume()
    }
}



// Usage
let url = URL(string: "https://pixabay.com/api/?key=10961259-e4e939648ed5abb6879f1fbbc&q=yellow+flowers&image_type=photo")
APIRequester.request(for: url!) { (response) in
    switch response {
    case .success(let result):
        if let hitResponse = result.object as? HitResponse {
            for hit in hitResponse.hits {

                //the final output
                print(hit.tags)
                print(hit.webformatURL)
                print("\n")
            }
        }
    case .error(let error):
        // handle error
        print("error \(error)")
    }
}

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.