需求描述:git
GET请求一个url,返回的是须要解析的json串。github
步骤以下:json
首先是使用Alamofire初始化一个url,这里须要注意的是不要自定义参数,好比使用%@来替换参数。应该使用Alamofire自带的参数设置:数组
let parameters: Parameters = ["sort": "string"] Alamofire.request(url,parameters:parameters).responseJSON{response in //your code here }
接着就是解析json串,使用SwiftyJson比较方便一点,避免了各类类型之间的强制转换,这个框架代替咱们完成了框架
switch response.result { case .success( _): if let data = response.data { do{ let json = try JSON(data: data) //result指的是json的第一个key值,以及后面的取值方式是以一个数组拿出来,这里须要本身按照实际状况 let subString_sick = json["result"].array![0][0].string!.split(separator: ";") //处理另一个 let subString_advice = json["result"].array![0][1].string!.split(separator: ";") //整合,保存在全局变量中方便在其余地方使用 let arraySickAndAdvice = [subString_sick,subString_advice] self.dictionarySickLabel[sickTag] = arraySickAndAdvice }catch{} } case .failure(let error): print("\(error)") }
关于字典的Swift的初始化定义参考:ide
var arraySickLabels: Array<UILabel> = [] var dictionarySickLabel : Dictionary<String, Array<Any>> = [:]
在其余地方调用的时候须要类型转一下ui
as! [String.SubSequence] //由于咱们使用splite获得的变量就是该类型
参考网页:url
https://github.com/SwiftyJSON/SwiftyJSONcode
https://github.com/Alamofire/Alamofire/blob/master/Documentation/Alamofire%204.0%20Migration%20Guide.mdblog
https://www.jianshu.com/p/f8c3adb056cf
https://www.jianshu.com/p/ff8c099d23b1
https://www.jianshu.com/p/acf91a4113ff
https://cloud.tencent.com/developer/ask/131211