我在使用SwiftyJSON解析以下JSON文件时遇到问题。我环顾网络,尝试了不同的建议解决方案,没有运气。
这是JSON:
{'info-leag':{'Status':1,'Name':'Testing Name','url-lig':'test.testing.com','uid':'12345'}}
我的相关代码:
//initializes request
let request = NSURLRequest(URL: url!)
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.currentQueue()) { response, maybeData, error in
if let data = maybeData {
let json = JSON(data: data)
//stores data as UTF8 String
let contents = NSString(data:data, encoding:NSUTF8StringEncoding)
第一部分似乎工作正常,我能够获取JSON并将其保存为数据,在底部我将其转换为字符串以确保我获得正确的信息,然后我将其打印到确保。
我尝试过不同的事情:
let name = json["info-league"]["Name"] //can't seem to get the context
我正在尝试将Name和uid保存为2个字符串以及将Status保存为int。
谢谢!
答案 0 :(得分:2)
一旦你使你的JSON有效:
{“info-league”:{“状态”:1,“名称”:“测试名称”,“url-lig”:“test.testing.com”,“uid”:“12345”}} < / p>
你将能够使用你的例子,它可以工作(我刚刚测试过):
let name = json["info-league"]["Name"]
但最好使用SwiftyJSON类型:
let name = json["info-league"]["Name"].string
let status = json["info-league"]["Status"].int
因此您的变量属于已知类型供以后使用。
如果你不这样做,它们将是JSON
类型,由SwiftyJSON创建的类型,你将不得不在以后强制转换它们(不是问题,取决于你在代码中的组织方式)
答案 1 :(得分:0)
尝试:
let name = json["info-league"]["Name"].string