我从json文件中获取数据:
json-data看起来像:
{
"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()
}
但是我收到了错误
使用未解析的标识符' Tagesauftraege'
我知道,它不是PHP,但在PHP中我有一个易于使用的数组。 SWIFT怎么样?我如何使用打印所有我的数据容易标签,如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;
}]
答案 0 :(得分:2)
你需要在swift
中使用双引号作为字符串self.labelWasserschadenSieben.text = String(jsonData["Tagesauftraege"]["Wasserschaden"]["sieben"])
答案 1 :(得分:1)
从基础开始。 JSON可以是字典,也可以是数组或nil,所以你得到一个AnyObject?您可以使用as将其分配给NSDictionary吗?或者作为!然后你有一本字典。从该字典中,您可以读取键“Tagesauftraege”,它也可以是字典,数组,字符串,数字,null或nil。所以你得到一个AnyObject?然后你继续。