json - 如何在没有映射的情况下将 JSON 反序列化为 Swift 中的对象

标签 json swift serialization

有没有一种方法可以在 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/

相关文章:

javascript - JSON.stringify 和非关联数组

ios - Swift ResearchKit HealthKit QuestionStep

android - XML 反序列化期间内存不足

java - 如何将@SerialVersionUID 添加到匿名类?

php - 如何在两个Android设备之间传输数据?

javascript - Grunt Lodash 模板可以在 Gruntfile.js 任务中使用吗?

PHP 对来自 Aurora MySQL 的 JSON 编码数据失败

swift - UICollectionView 视频性能

swift - 使用 iOS 共享/操作扩展截取主机应用程序的屏幕截图?

javascript - 使用 form.serialize 获取正确的复选框值