gpt4 book ai didi

使用此 URL 在 Swift 中解析 JSON

转载 作者:搜寻专家 更新时间:2023-10-31 22:50:26 25 4
gpt4 key购买 nike

寻求有关解析以下链接的建议。

http://www.claritin.com/weatherpollenservice/weatherpollenservice.svc/getforecast/90210

看起来是某种形式的 JSON,但我想知道在 Swift 中提取这些数据的最佳方式是什么。

对 swift 非常陌生,因此非常感谢任何帮助。

最佳答案

实际上要非常小心该响应,因为它可能看起来像 JSON 字典,但它不是。它是一个 JSON 字符串,字符串本身就是 JSON 字典。

因此,检索它,使用 NSJSONSerialization.AllowFragments 选项来处理字符串。

然后获取结果字符串,将其转换为数据,现在您可以解析实际的 JSON:

let url = NSURL(string: "http://www.claritin.com/weatherpollenservice/weatherpollenservice.svc/getforecast/90210")!
let task = NSURLSession.sharedSession().dataTaskWithURL(url) { data, response, error in
if data != nil {
var error: NSError?
if let jsonString = NSJSONSerialization.JSONObjectWithData(data, options: .AllowFragments, error: &error) as? String {
if let data = jsonString.dataUsingEncoding(NSUTF8StringEncoding) {
if let json = NSJSONSerialization.JSONObjectWithData(data, options: nil, error: &error) as? NSDictionary {
println(json)
} else {
println("unable to parse dictionary out of inner JSON: \(error)")
println("jsonString = \(jsonString)")
}
}
} else {
println("unable to parse main JSON string: \(error)")
println("data = \(NSString(data: data, encoding: NSUTF8StringEncoding))")
}
} else {
println("network error: \(error)")
}
}

这种 JSON 表示形式的 JSON 字符串是一种奇怪的格式,需要您跳过一些额外的环节。您可能想联系该 Web 服务的提供商,看看是否有其他格式可用于检索此数据(例如,作为简单的 JSON 响应)。

关于使用此 URL 在 Swift 中解析 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30020192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com