由于数据在不同系统内结构也有可能类似,我们可以尝试自动匹配两者子元素的关系,比如,服务器返回数据命名遵守蛇底式小写法( snake_case),而客户端命名遵守使用驼峰式大小写法( CamelCase), 这是可以利用Swift中的 反射API Mirror 自动把JSON转换成代码可直接使用的模型(Model)。
但是,善于思考的你可能发现这种使反射语法带来的正面效益有限,反而让代码调试变得困难,一些边缘问题也更难处理。在上面的例子中,我们不仅提取映射JSON数据,还初始化了复杂数据类型和输入数据的校验。如果上述代码使用反射将会变得更加复杂,不易理解。 在日常项目中评估可行方案时,如果策略错误可能得不偿失,为将来埋下技术债的隐患。
事实上一些成熟的开源库可以帮你轻松地处理JSON, 如iOS开发第三方库一 ObjectMapper
推荐阅读:Swift高手进阶 - 10个技巧
更多获取更多内容请关注微信公众号豆志昂扬: