Swift JSON编码时支持Camel Case和Snake

2018-07-09  本文已影响0人  ray_1942

🤔🤔🤔

Swift 4.0引入了Codable,但是有个麻烦的问题:如果JSON数据的key命名格式是snake_case的话,我们必须创建自己的CodingKeys来告诉苹果怎么转换。
但是在Swift 4.1中,苹果给JSONDecoder引入了一个属性keyDecodingStrategy;对应的JSONEncoder引入了一个属性keyEncodingStrategy。这样我们就不需要设置定义CodingKeys了。只需要在decoding的时候把keyDecodingStrategy设置为.convertFromSnakeCase;在encoding的时候把keyEncodingStrategy设置为.convertToSnakeCase

属性名策略说明:

CamelCase策略,对象属性:personId,序列化后属性:persionId

PascalCase策略,对象属性:personId,序列化后属性:PersonId

SnakeCase策略,对象属性:personId,序列化后属性:person_id

KebabCase策略,对象属性:personId,序列化后属性:person-id

上一篇下一篇

猜你喜欢

热点阅读