JSONSerialization.jsonObject не принимает мои параметры - PullRequest
0 голосов
/ 03 ноября 2018

Я пытаюсь обещать объект Json.

Однако JSONSerialization.jsonObject не принимает ни один из моих параметров.

class func deserialize<T>(data: Data) -> Promise<T> {
    let deserialized = try! JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions.allowFragments)
        String(data: data, encoding: String.Encoding.utf8)

    // Deserialize or try as String
    guard let object = deserialized else {
        return Promise<T>(error: APIError.InvalidJSON(data) as Error)
    }

    // Cast as T
    guard let objectT = object as? T else {
        return Promise<T>(error: APIError.JSONTypeMismatch(object, T.self))
    }

    return Promise(objectT)
}

Я получаю две ошибки:

let desserialized = try! JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions.allowFragments)

"Невозможно вызвать 'jsonObject' со списком аргументов типа '(с: Data, options: JSONSerialization.ReadingOptions)'"

String(data: data, encoding: String.Encoding.utf8)

"Невозможно преобразовать значение типа« Данные »в ожидаемый тип аргумента« Данные »»

1 Ответ

0 голосов
/ 03 ноября 2018

Кредит переходит к "RMaddy"

Похоже, у вас есть другой класс / структура данных, которые противоречат стандартной структуре данных Swift.

Был уже существующий класс, который я назвал Data.

...