我在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/