gpt4 book ai didi

json - Swift - 从 JSON 响应创建数据模型

转载 作者:IT王子 更新时间:2023-10-29 05:30:09 25 4
gpt4 key购买 nike

我正在学习 Swift 语言,其中一件很高兴听到其他人的意见是“你如何处理来自 JSON 响应的模型”?例如-

我有 User.swift 模型:

class User: NSObject {
var user_token:String?
var email:String?
}

而且我想使用 KeyValueObjectMapping就像我在 Obj-C 项目中所做的那样。不幸的是,这在这里不起作用:

let parser = DCKeyValueObjectMapping.mapperForClass(User)
let user = parser.parseDictionary(data.objectForKey("user") as NSDictionary) as User
println(user.user_token) // returns nil

您如何在 Swift 中创建模型?

最佳答案

我推荐使用代码生成在基于 JSON 的 Swift 中生成模型。为此,我在 http://www.guideluxe.com/JsonToSwift 创建了一个工具使建模和解析 JSON 尽可能简单。

在您向该工具提交带有类名的示例 JSON 对象后,它会生成相应的 Swift 类,以及任何需要的子 Swift 类,以表示示例 JSON 隐含的结构。还包括用于填充 Swift 对象的类方法,包括使用 NSJSONSerialization.JSONObjectWithData 方法的方法。提供了 NSArray 和 NSDictionary 对象的必要映射。

将生成的代码作为 Swift 类复制到您的项目中后,您只需提供一个包含与提供给该工具的示例相匹配的 JSON 的 NSData 对象。

除了 Foundation 之外,没有依赖项。

以下是如何从 JSON 文件创建 NSData 对象以进行测试。

let fileUrl: NSURL = NSBundle.mainBundle().URLForResource("JsonFile", withExtension: "json")!
let jsonData: NSData = NSData(contentsOfURL: fileUrl)!

关于json - Swift - 从 JSON 响应创建数据模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24475917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com