【发布时间】:2015-11-28 04:56:18
【问题描述】:
我想来回将 JSON 序列化为核心数据模型对象。我正在从 RestKIT 切换到 Alamofire 和 Swifty JSON。我知道有提供该功能的库,但我想知道如何在本地实现它?
以下是核心数据设置:
Event+CoreDataProperties.swift
import Foundation
import CoreData
extension Event {
@NSManaged var id: NSNumber?
@NSManaged var name: String?
@NSManaged var realRame: String?
@NSManaged var notes: NSSet?
}
Event.swift
import Foundation
import CoreData
class Event: NSManagedObject {
// Insert code here to add functionality to your managed object subclass
}
Notes+CoreDataProperties.swift
import Foundation
import CoreData
extension Notes {
@NSManaged var id: NSNumber?
@NSManaged var name: String?
@NSManaged var event: Event?
}
Notes.swift
导入基础 导入核心数据
类注释:NSManagedObject { // 在此处插入代码以向托管对象子类添加功能 }
以下是收到的 JSON:
{
"id": "5555",
"name": "Superman",
"realName": "Clark Kent",
"notes": [
{
"id": "2",
"name": "Order Flowers"
},
{
"id": "3",
"name": "Pick up Laundry"
}
{
"id": "4",
"name": "Get Chinese Food"
},
]
}
获取 JSON 的代码:
Alamofire.request(fetchData(param)).responseJSON { (response) in
switch response.result {
case .Success:
if let value = response.result.value {
let json = JSON(value)
}
case .Failure(let error):
print("Request failed with error: \(error)")
}
}
问题:我不知道从这里去哪里。 NSJSONSerialization 似乎想要NSData 格式的数据。
代码示例将不胜感激。
【问题讨论】:
-
如果您收到 JSON 格式的响应,那么您可以直接将其存储在 NSMutableDictionary 中并使用键值对访问值。为什么需要使用 NSJSONSerialization?
-
我正在使用 SwiftyJSON 将 JSON 转换为对象。我如何返回单词?
标签: json swift nsjsonserialization swifty-json