我在swift中有一个项目,在那里我发布了一个URL并得到json格式的结果。
来自url的json回复包含许多希腊字母,例如,不是“Γ”而是“U0393”。
如何用swift翻译转义字符?
我的代码如下:

let url = NSURL(string: "https://www.something.that.creates.a.json.array")!

    let task = URLSession.shared.dataTask(with: url as URL) { (data, response, error) -> Void in
        if let urlContent = data {
            do {
                let jsonResult = try JSONSerialization.jsonObject(with: urlContent, options: JSONSerialization.ReadingOptions.mutableContainers)
                print(jsonResult)
            } catch {
                print("Json Serialization error")
            }
        }
    }
    task.resume()

最佳答案

正如马马迪所写的,确实正确的转义字符。
但为了正确访问数组中的字典,我不得不将结果强制转换为[[String:Any]]。

let url = NSURL(string: "https://www.something.that.creates.a.json.array")!

let task = URLSession.shared.dataTask(with: url as URL) { (data, response, error) -> Void in
    if let urlContent = data {
        do {
            let jsonResult = try JSONSerialization.jsonObject(with: urlContent, options: JSONSerialization.ReadingOptions.mutableContainers) as! [[String : Any]]
            print(jsonResult[0]["description"])
        } catch {
            print("Json Serialization error")
        }
    }
}
task.resume()

关于json - 我从jsonSerialization获取转义字符并且无法在Swift中对其进行解码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46984006/

10-12 01:49