温馨提示:这篇文章已超过230天没有更新,请注意相关的内容是否还可用!
![swift 请求json—代码示例 swift 请求json—代码示例](https://www.guihejia.com/zb_users/upload/2023/12/202312061701836622906070.jpg)
在Swift中,我们可以使用URLSession来发送HTTP请求并获取JSON数据。我们需要创建一个URLSession对象,然后使用该对象创建一个URLSessionDataTask来发送请求。当请求完成后,我们可以通过回调函数来处理返回的JSON数据。
下面是一个示例代码,展示了如何使用Swift发送一个GET请求并获取JSON数据:
swift// 创建一个URL对象
let url = URL(string: "https://api.example.com/data.json")
// 创建一个URLSession对象
let session = URLSession.shared
// 创建一个URLSessionDataTask对象来发送请求
let task = session.dataTask(with: url!) { (data, response, error) in
// 检查是否有错误
if let error = error {
print("请求发生错误:\(error.localizedDescription)")
return
}
// 检查是否有返回数据
guard let data = data else {
print("未收到数据")
return
}
do {
// 解析JSON数据
let json = try JSONSerialization.jsonObject(with: data, options: [])
// 处理JSON数据
if let jsonArray = json as? [[String: Any]] {
for item in jsonArray {
if let name = item["name"] as? String {
print("名称:\(name)")
}
if let age = item["age"] as? Int {
print("年龄:\(age)")
}
}
}
} catch {
print("解析JSON数据出错:\(error.localizedDescription)")
}
}
// 开始发送请求
task.resume()
在这个示例中,我们首先创建了一个URL对象,用于指定我们要请求的JSON数据的URL。然后,我们使用URLSession.shared创建了一个URLSession对象。接下来,我们使用URLSession对象的dataTask方法创建了一个URLSessionDataTask对象,该对象负责发送GET请求并获取数据。在dataTask的回调函数中,我们首先检查是否有错误发生,然后检查是否有返回数据。如果没有错误和返回数据,我们使用JSONSerialization来解析JSON数据,并对其进行处理。我们调用dataTask的resume方法来开始发送请求。
这样,我们就可以使用Swift发送HTTP请求并获取JSON数据了。