swiftyJSON 从 NSURL 解析 json
Posted
技术标签:
【中文标题】swiftyJSON 从 NSURL 解析 json【英文标题】:swiftyJSON parsing json from NSURL 【发布时间】:2015-08-26 16:12:08 【问题描述】:我会请求一些帮助..
我有一个尝试从 url 获取 json 数据的函数。我正在使用 SwiftyJSON。
这是我的功能:
func getDataFromUpc(Code: String)
print("called getdata")
let urlString = "http://api.upcdatabase.org/json/mykey/" + Code
print(urlString)
let url = NSURL(string: urlString)
let data = NSData(contentsOfURL: url!)
let json = JSON(data!)
print(json)
print(json["description"])
self.alert(json["description"].stringValue)
当我尝试在控制台上打印 json 对象时,我可以看到: 未知
当我尝试打印 json["description"] 时它为零。
如果我尝试用我的浏览器调用我的 url,它可以正常工作,我会返回 json 响应。
谁能帮我解决我做错了什么?
非常感谢!
【问题讨论】:
data
为零吗?如果不是,像let dataString = NSString(data: data, encoding: NSUTF8StringEncoding)
这样的字符串是什么样的?
这不是空的,所以如果我这样做:让 dataString = NSString(data: data!, encoding: NSUTF8StringEncoding) print(dataString) 我可以看到完整的 json 响应.. 但我如何参考json [“描述”] 例如..? :)
谢谢你.. 我阅读了 swifty json 的规范,并用这个: if let dataFromString = jsonString.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false) let json = JSON(data: dataFromString) 它的工作.. :) 谢谢!
也许在使用 Swifty JSON(或任何第三方代码)时要做的第一件事就是“阅读规范”。
【参考方案1】:
swiftyJSON 不适用于 URL,swiftJSON 可以完美地处理本地数据
这是一个教程,你可以看到更多了解 swiftJSON
https://www.youtube.com/watch?v=_NfijT6mt6A
要解析来自网络的 JSON,您需要这样做...
https://www.youtube.com/watch?v=r-LZs0De7_U
【讨论】:
以上是关于swiftyJSON 从 NSURL 解析 json的主要内容,如果未能解决你的问题,请参考以下文章
在 Haneke 和 SwiftyJSON 之间转换 JSON