【发布时间】:2019-01-03 10:16:02
【问题描述】:
我正在尝试使用 Codable 将传入的JSON 自动解析到我的模型中。它工作正常,但后来我了解了_keyDecodingStrategy_,并想使用它。它运行良好并且能够减少我的代码,因为我不必为我的模型编写 CodingKeys 枚举。
但现在问题是服务器发送了一个新变量。变量是post_url_110x110。
我认为它会转换为 postUrl110x110,但事实并非如此。请帮助我进行camelCase 转换,或者建议我是否应该在这种情况下避免自动转换。
【问题讨论】:
-
您应该更新您的问题,以包括您需要解码的实际 JSON 以及您的数据模型和用于解码的代码。
-
.keyDecodingStrategy和CodingKeys可以一次并排使用。你必须同时使用它们。缺点是您必须涵盖CodingKeys的所有案例。只需提供应用.convertFromSnakeCase时失败的那些属性的原始值。保留其他情况(意思是,您不必编写原始值)。要了解更多信息,请参阅this answer -
是的。 KeyDecodingStrategy 是对我现有的使用 Codable 的 json 解码的即兴创作。