Alamofire JSON Кодирование логических проблем?

Есть ли какая-либо пользовательская кодировка для кодирования Bool как true вместо 0 или 1?

URLEncoding имеет возможность изменить Bool как буквальный или числовой. Но JSONEncoding.default не имеет такой опции.

Есть ли кто-нибудь, кто создал JSONEncoding в отношении этой проблемы?


person AtherSajjad    schedule 05.07.2018    source источник
comment
преобразовать его в cfboolean   -  person Devil Decoder    schedule 05.07.2018


Ответы (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
}
person Anup Kanjariya    schedule 05.07.2018

Вам нужно установить boolEncoding: .literal в инициализаторе URLEncoding.

person Jamil Hasnine Tamim    schedule 12.02.2020