代码之家  ›  专栏  ›  技术社区  ›  Konrad Wright

jsonserialization.jsonobject不接受我的参数

  •  2
  • Konrad Wright  · 技术社区  · 6 年前

    我试图承诺一个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)
    

    不能用类型为(with:data,options:jsonserialization.readingoptions)的参数列表调用“jsonobject”

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

    “无法将'data'类型的值转换为所需的参数类型'data'”

    1 回复  |  直到 6 年前
        1
  •  0
  •   Konrad Wright    6 年前

    功劳归“马达迪”

    似乎您有另一个与标准swift数据结构相冲突的数据类/结构。

    有一个预先存在的类,我称之为数据。