使用 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 创建的类型,你将不得不稍后转换它们(这不是问题,取决于你如何在您的代码中组织)。