Има ли някакъв начин да десериализирате JSON в Swift обект, а не да го направите NSDictionay
?
Например: JSON е като: {"value": "xxx"}
Искам да използвам този ресурс като:
var json = "{"value": "xxx"}"
var obj = parseToObj(json)
println(obj.value)
Отговори:
2 за отговор № 1Написах малка библиотека, за да се справя бързо с такива неща. (Не е предназначена за игра) Можете да го получите тук: JSONHelper
След като прочетете въпроса си, разбрах, че трябва да добавям поддръжка на десериализацията директно от струните на JSON, а не само обектите на JSON, така че го направих.
Ето как го правите:
struct MyObjectType: Deserializable {
var value: String?
init(data: [String: AnyObject]) {
value <-- data["value"]
}
}
var json = "{"value": "xxx"}"
var myClass: MyClass?
myClass <-- json
println("(myClass.value)")