【发布时间】:2017-06-09 00:24:19
【问题描述】:
我通过 httpget 请求从 url 获取 json 文件。然后,我想将所有来自 json 的标签打印到屏幕上。我使用此代码来执行此操作,但是我无法以这种方式获得。你能帮帮我吗?
Swift 3 代码:
let url:URL = URL(string: "https://api.hurriyet.com.tr/v1/articles...deleted...")!
let session = URLSession.shared
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.cachePolicy = NSURLRequest.CachePolicy.reloadIgnoringCacheData
URLCache.shared = URLCache(memoryCapacity: 0, diskCapacity: 0, diskPath: nil)
let task = session.dataTask(with: request as URLRequest) {
(data, response, error) in
guard let data = data, let _:URLResponse = response, error == nil else {
print("error")
return
}
let dataString = String(data: data, encoding: String.Encoding.utf8)
for tags in data{
for tag in tags["Tags"]{
print(tag)
}
}
}
task.resume()
示例 json 输出和 dataString 变量的输出:
"[{"标签":["fırat","kalkanı 歌剧","gazetehaberleri"]},{"标签":["yüksek yargı","adliye","gazetehaberleri"]},{"标签":["foo","Hüseyin Avni Mutlu","Hüseyin Çapkın","gazetehaberleri"]}]"
【问题讨论】:
-
您需要解析json字符串并将其转换为字典。有一些解析 json 的库(你可以在 github 上搜索),我认为 Foundation 中也有一个内置解析器 developer.apple.com/swift/blog/?id=37
-
我无法将 json 转换成字典,你能帮帮我吗? @LeoDabus
-
好的,我已经处理好了,但是,我怎样才能得到标签呢?因为无法像 jsonParsed["Tags"] 等那样获得它们...... @LeoDabus
-
使用swiftyJson轻松解析json