【发布时间】:2016-11-06 23:08:19
【问题描述】:
我正在尝试从服务器获取 json 并对其进行反序列化,但我尝试使用非转义控制字符的探针。 我的代码如下...
let urlFinal = "http://000.0000.000.000:8080"
let jsonUrl = urlFinal
let session = NSURLSession.sharedSession()
let shotsUrl = NSURL(string: jsonUrl)
let task = session.dataTaskWithURL(shotsUrl!) {data, response, error in
guard data != nil else {
falha()
return
}
//let json = JSON(data: data!)
//print(json["ServicoCliente"][0]["id"])
do {
let jsonData = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers )
let J = jsonData as! NSDictionary
print(jsonData)
let us = J["ServicoCliente"]
print(us)
dispatch_async(dispatch_get_main_queue(),{
sucesso()
});
} catch _ {
falha()
}
}
task.resume()
我也尝试过使用 Alamofire 3.0:
Alamofire.request(.GET, "http://000.000.000.000/", parameters: nil)
.responseJSON { response in
debugPrint(response) // prints detailed description of all response properties
print(response.request) // original URL request
print(response.response) // URL response
print(response.data) // server data
print(response.result) // result of response serialization
if let JSON = response.result.value {
print("JSON: \(JSON)")
}
}
并得到这个错误:
字符 263 周围未转义的控制字符
如何在不转义的情况下删除字符?
我使用 X-Code 7.3.1 和 Swift 2.3
更新: json
{"ServicoCliente":[{"id":"195","cliente":"247","enderecoFavoritos":"48","servicoProfissional":"194","ind_estado_cliente":"A","ind_estado_profissional":"","profissional_id":"240","profissional_nome":"PetMax","servicotipo_nome":"Petshop","servicosubtipo_nome":"Tosa ","dta_inc_alt":"2016-11-05 22:56:19.333","ind_finalizado":"N"}]}
【问题讨论】:
-
我认为您的 JSON 无效,请尝试将此 objc 代码转换为 Swift stackoverflow.com/a/11192483/6366256
-
请在此处粘贴您的 JSON 字符串,这将有助于我们调查您的问题。
-
我用 json 进行了更新,但在我的一个测试中,我将 json 复制并粘贴到了 textField 中,这样就可以了。我认为该字符在副本中丢失或自动转换为文本字段@Enix
-
您的 JSON 是否包含任何特殊的空格?错误似乎来自字符串中的空格:
Tosa。