Как упоминалось в заголовке сообщения, я получаю NSInvalidArgumentException - «Недопустимый тип верхнего уровня в JSON write» при попытке конвертировать словарь в JSON Data в swiftNSInvalidArgumentException - «Неверный тип верхнего уровня в JSON write» - Swift
let userInfo: [String: String] = [
"user_name" : username!,
"password" : password!,
"device_id" : DEVICE_ID!,
"os_version" : OS_VERSION
]
let inputData = jsonEncode(object: userInfo)
. . .
static private func jsonEncode(object:Any?) -> Data?
{
do{
let encoded = try JSONSerialization.data(withJSONObject: object, options:[]) as Data? <- here occured NSInvalidArgumentException
if(encoded != nil)
{
return encoded
}
else
{
return nil
}
}
catch
{
return nil
}
}
Я передаю словарь как параметр, не понимая, что происходит не так. Пожалуйста, помогите мне, ребята.
Спасибо!
Почему вы добавили 'as Data?' В конце этой строки? – Moritz
Кроме того, вы передаете 'Any?' В 'JSONSerialization.data (withJSONObject:)', но сначала должны быть безопасно распакованы. – Moritz
ой! «как данные»? по ошибке .. Я новичок в быстром. Поэтому, пожалуйста, скажите мне, что должно быть сделано. Thanx BTW для указания – iAkki