swift - JSONSerialization.jsonObject 不接受我的参数
问题描述
我正在尝试承诺一个 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)
“不能使用类型为‘(带有:数据,选项:JSONSerialization.ReadingOptions)’的参数列表调用‘jsonObject’”
String(data: data, encoding: String.Encoding.utf8)
“无法将‘数据’类型的值转换为预期的参数类型‘数据’”
解决方案
归功于“RMaddy”
似乎您有另一个与标准 Swift Data 结构冲突的 Data 类/结构。
有一个预先存在的类,我将其命名为 Data。
推荐阅读
- google-apps-script - 如何减少我的 Google Apps 脚本使用的“计算机时间”?
- reactjs - 反应输入 - 没有默认值
- nginx - 拒绝访问包含文件在 nginx conf 中不起作用
- python-3.x - Python程序随机挂起
- php - 为什么不能取消设置和销毁会话?
- javascript - 在 Gatsby 页面/组件中包含源文件的原始 JSX 文本?
- sql - 在两个 Postgres 服务器之间复制大量数据集
- c# - 使用 perlin 噪声计算孤岛误差
- php - 如何只添加一种货币进行贝宝付款
- javascript - 画布产生最大调用堆栈的问题