NSJSONSerialization - 无法在Swift上将数据转换为字符串

时间:2016-05-12 14:08:30

标签: json swift

我有一个带有Json的tableView并且工作完美,但今天我们更新了我们的JSon,现在不起作用。我有这个问题:

  

Json出错:错误域= NSCocoaErrorDomain Code = 3840“无法执行   将数据转换为字符串5060周围的字符串。“   UserInfo = {NSDebugDescription =无法将数据转换为字符串   字符5060。}

我发现这篇文章并且我认为有效,但是是Obj-c NSJSONSerialization - Unable to convert data to string

let requestURL: NSURL = NSURL(string: rutaJSon)!
    let urlRequest: NSMutableURLRequest = NSMutableURLRequest(URL: requestURL)
    let session = NSURLSession.sharedSession()
    let task = session.dataTaskWithRequest(urlRequest) {
        (data, response, error) -> Void in

        let httpResponse = response as! NSHTTPURLResponse
        let statusCode = httpResponse.statusCode

        if (statusCode == 200) {
            self.arrayNombre.removeAll()
            self.arrayTel.removeAll()
            self.arrayMov.removeAll()


            do{

                let json = try NSJSONSerialization.JSONObjectWithData(data!, options:.AllowFragments)

                //print(json)
有人可以帮帮我吗?感谢

1 个答案:

答案 0 :(得分:1)

看起来您的服务器没有使用正确的JSON编码类型之一。来自文档:

  

数据必须采用JSON规范中列出的5种支持编码之一:UTF-8,UTF-16LE,UTF-16BE,UTF-32LE,UTF-32BE。数据可能有也可能没有BOM。用于解析的最有效编码是UTF-8,因此如果您可以选择对传递给此方法的数据进行编码,请使用UTF-8。

您的服务器需要正确编码数据。