Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我从jsonSerialization中获得转义字符,无法在Swift中解码它们_Json_Swift_Unicode Escapes - Fatal编程技术网

我从jsonSerialization中获得转义字符,无法在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) {

我在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) { (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”没有下标成员签出此答案: