使用 SwiftyJSON 解析 JSON
Parsing JSON with SwiftyJSON
我在使用 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。
谢谢!
尝试:
let name = json["info-league"]["Name"].string
一旦你让你的 JSON 像这样有效:
{"info-league":{"Status":1,"Name":"Testing Name","url-lig":"test.testing.com","uid":"12345"}}
您将能够使用您的示例,它有效(我刚刚测试过):
let name = json["info-league"]["Name"]
但最好使用 SwiftyJSON 类型:
let name = json["info-league"]["Name"].string
let status = json["info-league"]["Status"].int
所以你的变量是已知类型供以后使用。
如果你不这样做,它们将是 JSON
类型,一种由 SwiftyJSON 创建的类型,你将不得不稍后转换它们(这不是问题,取决于你如何在您的代码中组织)。
我在使用 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。
谢谢!
尝试:
let name = json["info-league"]["Name"].string
一旦你让你的 JSON 像这样有效:
{"info-league":{"Status":1,"Name":"Testing Name","url-lig":"test.testing.com","uid":"12345"}}
您将能够使用您的示例,它有效(我刚刚测试过):
let name = json["info-league"]["Name"]
但最好使用 SwiftyJSON 类型:
let name = json["info-league"]["Name"].string
let status = json["info-league"]["Status"].int
所以你的变量是已知类型供以后使用。
如果你不这样做,它们将是 JSON
类型,一种由 SwiftyJSON 创建的类型,你将不得不稍后转换它们(这不是问题,取决于你如何在您的代码中组织)。