使用会话从 url 获取 Json
Posted
技术标签:
【中文标题】使用会话从 url 获取 Json【英文标题】:Getting Json from url using session 【发布时间】:2017-11-05 12:44:58 【问题描述】:我正在使用 xcode 9 beta 5。我试图解析 url。虽然基于 url 维护会话,但代码给出了语法错误。
static func fetchFeatureApp()
let urlString="http://ebmacs.net/ubereats/Api/all_product?id=1"
URLSession.shared.dataTask(with: NSURLRequest(url: urlString)) (data, responce, error) in
if error!=nil
print(error)
return
.resume()
image description here
URLSession.shared.dataTask(with: NSURLRequest(url: urlString)) (data, responce, error) in
这行代码报错
无法将“字符串”类型的值转换为预期的参数类型“URL” 如何解决这个问题
如何消除此错误? 我访问过这个link
【问题讨论】:
【参考方案1】:URLRequest
需要 URL
而不是 String
,这就是错误消息的说明。
let urlString = "http://ebmacs.net/ubereats/Api/all_product?id=1"
let url = URL(string: urlString)!
URLSession.shared.dataTask(with: URLRequest(url: url)) (data, responce, error) in ...
您访问了链接清楚地从字符串中创建了URL
。
但实际上,对于简单的 GET 请求,您不需要 URLRequest
,只需传递 URL
let url = URL(string: "http://ebmacs.net/ubereats/Api/all_product?id=1")!
URLSession.shared.dataTask(with: url) (data, responce, error) in ...
【讨论】:
【参考方案2】:您好,这是我最喜欢的urlsession
下载代码,
var request = URLRequest(url: URL(string: "Your URL String")!)
request.httpMethod = "POST"
let session = URLSession.shared
session.dataTask(with: request) data, response, error in
let parsedData = try JSONSerialization.jsonObject(with: data!) //if you want to convert to Json
.resume()
【讨论】:
以上是关于使用会话从 url 获取 Json的主要内容,如果未能解决你的问题,请参考以下文章
使用 AngularJS 从 JSON 响应中获取图像 url