有没有一种方法可以在 Swift
中反序列化对自定义对象的 JSON 响应,而无需单独映射每个元素。
目前我正在使用 SwiftyJSON
手动完成它,但它仍然需要我冗余地映射每个字段:
var myproperty1 = json["myproperty1"].stringValue
但是来自 C#
背景,它就像一行代码一样简单:
JsonConvert.DeserializeObject<CustomObject>(jsonString); //No mapping needed.
来源 - http://www.newtonsoft.com/json/help/html/DeserializeObject.htm
由于我正在编写许多 API 端点,所以我想避免所有可能容易出错的样板映射代码。请记住,我的 JSON 响应将是多个层次的数组数组。所以任何函数都需要递归。
类似问题:Automatic JSON serialization and deserialization of objects in Swift
最佳答案
你可以使用 EVReflection为了那个原因。您可以使用如下代码:
var user:User = User(json:jsonString)
或
var jsonString:String = user.toJsonString()
查看 GitHub 页面以获得更详细的示例代码
关于json - 如何在没有映射的情况下将 JSON 反序列化为 Swift 中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30854578/