Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 我有一个JSON,正在尝试使用objectMapper进行解析。但mapper给了我零分 类调用响应:响应,可映射{ 变量名称:字符串? 启用变量:Bool? 可用变量:Bool? 必需的初始化?(映射:映射){ } func映射(映射:映射){ self.name_Arrays_Swift - Fatal编程技术网

Arrays 我有一个JSON,正在尝试使用objectMapper进行解析。但mapper给了我零分 类调用响应:响应,可映射{ 变量名称:字符串? 启用变量:Bool? 可用变量:Bool? 必需的初始化?(映射:映射){ } func映射(映射:映射){ self.name

Arrays 我有一个JSON,正在尝试使用objectMapper进行解析。但mapper给了我零分 类调用响应:响应,可映射{ 变量名称:字符串? 启用变量:Bool? 可用变量:Bool? 必需的初始化?(映射:映射){ } func映射(映射:映射){ self.name,arrays,swift,Arrays,Swift,它的字典数组尝试键入cast as[[String:Any]] 现在不需要外部映射器框架了,苹果提供了Codable,它很容易使用,也很容易理解解析中的错误。mapper…我甚至从来没有听说过它。@ElTomato它是。这不是完整的json,我猜你有一系列字典,所以试试as?[[String:Any]]您还需要在问题中包括响应类型。因为像SwiftyJSON和ObjectMapper这样的Swift 4第三方库已经过时,取而代之的是Codable。 { "name"

它的字典数组尝试键入cast as[[String:Any]]


现在不需要外部映射器框架了,苹果提供了Codable,它很容易使用,也很容易理解解析中的错误。

mapper…我甚至从来没有听说过它。@ElTomato它是。这不是完整的json,我猜你有一系列字典,所以试试
as?[[String:Any]]
您还需要在问题中包括
响应类型
。因为像
SwiftyJSON
ObjectMapper
这样的Swift 4第三方库已经过时,取而代之的是
Codable
  {
    "name": "a",
    "enabled": true,
    "available": false
  },
  {
    "name": "b",
    "enabled": true,
    "available": false
  },
  {
    "name": "c",
    "enabled": false,
    "available": true
  },
  {
    "name": "f",
    "enabled": false,
    "available": false
  },
  {
    "name": "g",
    "enabled": false,
    "available": false
  },
  {
    "name": "h",
    "enabled": false,
    "available": false
  }
class CallsResponse: Response, Mappable {
    
    var name: String?
    var enabled: Bool?
    var available: Bool?
    
    required init?(map: Map) {
    }
    
    func mapping(map: Map) {
        self.name <- map["name"]
        self.enabled <- map["enabled"]
        self.available <- map["available"]
    }

}
func parseResponse(data: Data) throws -> ResponseType? {
    if let JSON = try JSONSerialization.jsonObject(with: data, options: .allowFragments) as? [String: Any] {
        return Mapper<ResponseType>().map(JSON: JSON)
    }
    return nil
}