Работа с JSON
Для работы с форматом JSON во фреймворке Foundation имеется класс NSJSONSerialization. Он позволяет выполнять две основные вещи: переводить объекты в JSON-данные — сериализовать, и наоборот, из JSON-данных получать объекты — десериализовать.
/*
articles.json format:
[
{
"article": {
"title": "Холст для рисования",
"url": "http://valery.bashkatov.org/paper/canvasview",
"date": "2016-01-22"
}
},
{
"article": {
"title": "Вызов метода по таймеру",
"url": "http://valery.bashkatov.org/paper/method-call-by-timer",
"date": "2016-01-17"
}
}
]
*/
import Foundation
typealias Article = [String: [String: String]]!
let url = NSURL(string: "http://valery.bashkatov.org/files/json/articles.json")!
var data = NSData(contentsOfURL: url)!
var articles: [Article]!
do {
// JSON data deserialization into the object
articles = try NSJSONSerialization.JSONObjectWithData(data,
options: NSJSONReadingOptions()) as! [Article]
} catch {
print(error)
}
for article in articles {
print("article")
}
if NSJSONSerialization.isValidJSONObject(articles) {
do {
// Object serialization into the JSON data
data = try NSJSONSerialization.dataWithJSONObject(articles,
options: NSJSONWritingOptions.PrettyPrinted)
} catch {
print(error)
}
}
print(String(data: data, encoding: NSUTF8StringEncoding)!)