将NSData转换为JSON对象数组
问题描述:
我正在访问我的swift代码中的HTTP GET方法。此方法正在返回一个NSData变量。这个数据本质上只是一个json对象的数组,如下所示:将NSData转换为JSON对象数组
[{"author": "meowmeow", "platform": "Google"}, {"author": "adasd", "platform": "Dropbox"}
并存储在变量数据中。
我想将这个NSData变量转换成一个json对象数组我可以很容易地访问,但不能弄清楚如何用swifty json来做到这一点。
我曾尝试以下:
let jsonString = NSString(data: data! as! Data, encoding: String.Encoding.utf8.rawValue)
但是,当我做到这一点后:
var jj = JSON.init(parseJson: jsonString!)
for j in jj {
print(j)
print("------")
}
无打印,暗示JSON.init方法没有成功地解析字符串并返回可以循环使用的数组。我怎样才能投NSData的成JSON对象的数组,我可以访问,如:
print(jj[0]["author"])
答
从SwiftyJSON GitHub页
let json = JSON(data: data) //use this method
for dict in json {
//do the stuff
}
你用斯威夫特或Objective-C? NSURLSession API在swift中返回数据不是NSData – suhit
在描述中发布你的网络请求代码 – suhit
为什么'NSString'和'NSData'在Swift中?不要这样做。原生Swift中的相同代码显着缩短(并且更高效):'let jsonString = String(data:data !, encoding:.utf8)' – vadian