【发布时间】: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(或任何第三方代码)时要做的第一件事就是“阅读规范”。
标签: json swift swift2 swifty-json