JSONSerialization.jsonObject 不接受我的参数

Posted

技术标签:

【中文标题】JSONSerialization.jsonObject 不接受我的参数【英文标题】:JSONSerialization.jsonObject isn't accepting my parameters 【发布时间】:2018-11-03 01:17:34 【问题描述】:

我正在尝试 Promise 一个 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'”

【问题讨论】:

好像你有另一个 Data 类/结构与标准 Swift Data 结构冲突。 ...这就是问题所在!这个问题已经解决了! ***.com/a/51058460/6630644 【参考方案1】:

功劳归于“RMaddy”

似乎您有另一个与标准 Swift Data 结构冲突的 Data 类/结构。

有一个预先存在的类,我将其命名为 Data。

【讨论】:

以上是关于JSONSerialization.jsonObject 不接受我的参数的主要内容,如果未能解决你的问题,请参考以下文章