взять данные из строкового ответа, используя almofire в swift - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь опубликовать некоторые данные, используя alamofire.response, поступающий в строку.Теперь, как я могу получить данные из строки ответа.

Alamofire.request(url, method: .post, parameters: ["API":"get_blog_list","user_id":"18","page":"1"], encoding: URLEncoding.default).responseString(completionHandler: { (response) in
    guard let datastring = response.result.value else { return }
    print(datastring)

мой ответ (строка данных)

{
   "success" : "1",
   "totalpage" : "2",
   "blogdata" : [
             {
              "int_glocode" : "18",
              "var_blogtitle" : "ssss",
              "tblogdescription" : "ssssss",
              "var_images" : "http//url",
              "dt_creatdate" : "21-8-2017",
              "flag" : "false"
             }
            {
              "int_glocode" : "19",
              "var_blogtitle" : "ssss",
              "tblogdescription" : "ssssss",
              "var_images" : "http//url",
              "dt_creatdate" : "21-8-2017",
              "flag" : "false"
             }
          ]
}

теперь я хочу получить данные "var_blogtitle", "tblogdescription", "var_images", поэтому я создаю структуру для этого

struct Data:Decodable {
    var var_image: URL
    var tblogdescription : String
    var var_blogtitle: String

    init(blogdata:[String:Any]) {
        self.var_blogtitle = blogdata["var_blogtitle"] as! String
        self.tblogdescription = blogdata["tblogdescription"] as! String
        self.var_image = blogdata["var_image"] as! URL

    }
}

1 Ответ

0 голосов
/ 20 сентября 2018

Используйте этот код для справки.Но убедитесь, что ваш JSON действителен.

Alamofire.request(url, method: .post, parameters ["API":"get_blog_list","user_id":"18","page":"1"], encoding: URLEncoding.default).responseString(completionHandler: { (response) in
        guard let datastring = response.result.value else { return }

        if let data = datastring as? [String: AnyObject] {
            if let data = data["blogdata"] as? NSArray {
                for data in data {
                    if let data = data as? [String: AnyObject] {
                        let var_blogtitle = data["var_blogtitle"] as? String
                    }
                }
            }
        }
    })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...