我从jsonSerialization中获得转义字符,无法在Swift中解码它们
我在swift中有一个项目,在那里我发布了一个URL,并以json格式获得结果。 来自url的json回复包含许多希腊字母,例如,而不是“Γ”I get“\U0393”。 如何翻译swift中的转义字符? 我的代码如下:我从jsonSerialization中获得转义字符,无法在Swift中解码它们,json,swift,unicode-escapes,Json,Swift,Unicode Escapes,我在swift中有一个项目,在那里我发布了一个URL,并以json格式获得结果。 来自url的json回复包含许多希腊字母,例如,而不是“Γ”I get“\U0393”。 如何翻译swift中的转义字符? 我的代码如下: let url = NSURL(string: "https://www.something.that.creates.a.json.array")! let task = URLSession.shared.dataTask(with: url as URL) {
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()
正如rmaddy所写的,转义字符看起来确实是正确的。 但是我必须将结果转换为[[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()
正如rmaddy所写的,转义字符看起来确实是正确的。 但是我必须将结果转换为[[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()
你真的确定你在实际数据中得到了像
\U0393
这样的东西,而不是在调试器中查看数据时简单出现的东西吗?如果在标签中显示实际字符串,您会看到什么?嗯,还没有在标签中测试它。这是一个巨大的json结果,我不能只选择jsonResult[“name”]项。它返回一个错误类型“Any”没有下标成员勾选此答案:您真的确定在实际数据中得到了类似\U0393
的内容,而不是在调试器中查看数据时简单出现的内容吗?如果在标签中显示实际字符串,您会看到什么?嗯,还没有在标签中测试它。这是一个巨大的json结果,我不能只选择jsonResult[“name”]项。它返回一个错误类型“Any”没有下标成员签出此答案: