Alamofire JSON 编码布尔问题?
Posted
技术标签:
【中文标题】Alamofire JSON 编码布尔问题?【英文标题】:Alamofire JSON Encoding boolean issues? 【发布时间】:2018-07-05 10:01:18 【问题描述】:是否有任何自定义编码将 Bool 编码为 true 而不是 0 或 1 ?
URLEncoding 可以选择将 Bool 更改为文字或数字。但是 JSONEncoding.default 没有那个选项。
有没有人针对这个问题创建了 JSONEncoding ?
【问题讨论】:
将其转换为 cfboolean 【参考方案1】:您需要在URLEncoding
初始化程序中设置boolEncoding: .literal
。
【讨论】:
【参考方案2】:您可以使用以下方法直接转换布尔值,默认返回false。它适用于 Bool 作为文字或数字。
func boolean(_ anything: Any?) -> Bool
if let any = anything
if let num = any as? NSNumber
return num.boolValue
else if let str = any as? NSString
return str.boolValue
return false
【讨论】:
以上是关于Alamofire JSON 编码布尔问题?的主要内容,如果未能解决你的问题,请参考以下文章
URL编码参数中的布尔值在Swift3中使用Alamofire编码为0和1
Alamofire JSON 参数编码因 elasticsearch 失败
从 alamofire swift 的 tableview 单元格中的 url 加载图像