下面是一般的JSON我看到:解析JSON沒有對象名稱
{"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]}
但我試圖解析JSON的格式,沒有物體(「僱員」從上面的例子):
[{"id":"1","company":"1","facility":"2","starttime":"1454936400","complete_time":"1454979600","scheduled_hours":"12"},{"id":"3","company":"1","facility":"2","starttime":"1455021660","complete_time":"1455061660","scheduled_hours":"12"}]
下面是我想要使用的代碼:
let requestURL: NSURL = NSURL(string: url)!
let urlRequest: NSMutableURLRequest = NSMutableURLRequest(URL: requestURL)
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithRequest(urlRequest) {
(data, response, error) -> Void in
let httpResponse = response as! NSHTTPURLResponse
let statusCode = httpResponse.statusCode
if (statusCode == 200) {
do{
let json = try NSJSONSerialization.JSONObjectWithData(data!, options:.AllowFragments)
if let stations = json[1] as? [[String: AnyObject]] {
print(json)
for station in stations {
if let name = station["company"] as? String {
print(name)
}
}
}
}catch {
print("Error with Json: \(error)")
}
}
}
task.resume()
但我不能輸出任何來自JSON數據的值。我該怎麼做?我在Swift和XCode中很新。
或者如果我可以格式化我的數據看起來像第一個JSON,它會好嗎?數據從SQL查詢中作爲數組返回。
更新:當我打印(json [1])時,它只打印第二組。我想我越來越近了。
目前尚不清楚你的意思。你是說你想能夠處理沒有外部字典的JSON輸入,而只是有一個項目數組?你的第二個JSON示例看起來是一個具有完全不同鍵的字典數組。 –
我的意思是,我如何解析它,而不像第一個示例中的「employees」那樣使用外部字典。 –
有一個名爲SwiftyJSON的流行庫。你可能想看看它。 – Santhosh