0

是否有任何自定义编码将 Bool 编码为 true 而不是 0 或 1 ?

URLEncoding 可以选择将 Bool 更改为文字或数字。但是 JSONEncoding.default 没有那个选项。

有没有人针对这个问题创建了 JSONEncoding ?

4

2 回答 2

1

您需要boolEncoding: .literalURLEncoding初始化程序中设置。

于 2020-02-12T12:03:46.967 回答
0

您可以使用以下方法直接转换布尔值,默认返回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
}
于 2018-07-05T10:25:54.577 回答