【发布时间】:2017-03-27 07:30:10
【问题描述】:
好吧,我正在使用这个库来解析 xml:SwiftyXMLParser 但不幸的是无法从 IOS 中的响应中获取结果数组,但我可以在浏览器 see this link 或 sample of respond 上看到它们!
这是我的操作:
URLSession.shared.dataTask(with: NSURL(string: urlString)! as URL, completionHandler: { (data, response, error) -> Void in
if error != nil {
print(error)
return
}
if let data = data {
let xml = XML.parse(data)
print(xml)
//tried xml["results"]["0"] also didn't work
}
}).resume()
这是我在 IOS 中的输出:
<response version="2">
<query>ios</query>
<location>austin, tx</location>
<clickedCategories/>
<paginationPayload/>
<radius>25</radius>
<dupefilter>true</dupefilter>
<highlight>false</highlight>
<start>1</start>
<end>10</end>
<pageNumber>0</pageNumber>
<totalresults>315</totalresults>
<results>
//This is array but No results!!
<\results>
那么有人知道为什么吗?以及如何?
谢谢。
我对 json 的尝试:
let IndeedAPI = "api.indeed.com/ads/apisearch?publisher=4935138002921571&q=(searchTerm)&format=json&l=%2C+tx&sort=&radius=50&st=&jt=&start=&limit=10&fromage=&filter=&latlong=1&co =&chnl=&userip=1.2.3.4&v=2"
let googleYoutubeAPIUrl = URL(string: indeedAPI.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed)!)
let request:URLRequest = URLRequest(url: googleYoutubeAPIUrl!, cachePolicy: NSURLRequest.CachePolicy.reloadIgnoringCacheData, timeoutInterval: 5.0)
OperationQueue.main.cancelAllOperations()
let task = URLSession.shared.dataTask(with: request, completionHandler: { data, response, error in
if let _ = error {
print(error.debugDescription)
return
}
if let data = data {
completion(JSON(data: data))
} else { print("data nil"); return }
})
task.resume()
{
"paginationPayload" : "",
"location" : "%2C tx",
"dupefilter" : true,
"results" : [
// also no results
],
"totalResults" : 0,
"version" : 2,
"end" : 0,
"pageNumber" : 0,
"start" : 0,
"query" : "ios developer",
"highlight" : true
}
【问题讨论】:
-
@Rob 谢谢,我已经添加了我的输出
-
@Rob 再次抱歉,我已经编辑了我的问题。谢谢
-
xml["results"]还能用吗? -
@Rob 尝试了 google places api xml 并且工作正常,但确实 api 嗯这很奇怪,因为我的输出(api 响应)不包括结果数组
-
如果您有关于使用 JSON 的问题,那么这应该是一个单独的问题,而不是在这个 SwiftyXMLParser 问题中合并。我建议从这里删除 JSON 尝试...