如何在 SWIFT 中使用 json-data for iOS 9

How to use json-data in SWIFT for iOS 9

我从 json 文件中获取数据:

json-数据看起来像:

{
  "Datum": "2015-06-05 16:55:55",
  "Tagesauftraege": {
       "Wasserschaden": {
       "sieben": "97",
       "gestern": "138",
       "heute": "18"
   },
   "Leckortung": {
       "sieben": "54",
       "gestern": "72",
       "heute": "11"
    }
  },
  "Umsatz": {
       "db1": "74000",
       "oel": "44200"
  }
}

现在我会

@IBAction func buttonRefreshData(sender: UIButton) {
    let jsonUrl = url

    let session = NSURLSession.sharedSession()
    let shotsUrl = NSURL(string: jsonUrl)

    let task = session.dataTaskWithURL(shotsUrl!) {
        (data, response, error) -> Void in

        do {
            let jsonData = try NSJSONSerialization.JSONObjectWithData(data!, options:NSJSONReadingOptions.MutableContainers ) as! [String: AnyObject]

            self.labelWasserschadenSieben.text = //String(jsonData['Tagesauftraege']['Wasserschaden']['sieben'])

        } catch _ {
            // Error
        }
    }

    task.resume()

}

但是我得到了错误

Use of unresolved identifier 'Tagesauftraege'

我知道,这不是 PHP,但在 PHP 中我得到了一个易于使用的数组。 SWIFT 怎么样?我如何使用 Print all my data easy to labels like the labelWasserschadenSieben?

这是我打印时的输出(jsonData)

["Datum": 2015-06-05 16:55:55, "Tagesauftraege": {
Leckortung =     {
    gestern = 72;
    heute = 11;
    sieben = 54;
};
Wasserschaden =     {
    gestern = 138;
    heute = 18;
    sieben = 97;
};
}, "Umsatz": {
db1 = 74000;
oel = 44200;
}]

swift

中的字符串需要使用双引号
self.labelWasserschadenSieben.text = String(jsonData["Tagesauftraege"]["Wasserschaden"]["sieben"])

从基础开始。 JSON可以是字典也可以是数组也可以是nil,所以你得到一个AnyObject?您可以使用 as? 将其分配给 NSDictionary或作为!。然后你有一本字典。从该字典中,您可以读取键 "Tagesauftraege",它也可以是字典、数组、字符串、数字、null 或 nil。所以你得到一个 AnyObject?然后你继续。