【发布时间】:2016-11-08 05:20:13
【问题描述】:
我想从 JSON 字符串转换为 NSDictionary 并且数据是 UTF8。 这是我的代码:
override func viewDidLoad() {
super.viewDidLoad()
let string = "{\"name\":\"Việt NAM\",\"data\":{\"capital\":\"HÀ NỘI\",\"continents\":\"Châu Á\"}}"
let dataResult = convertStringToDictionary(text: string)
print (dataResult)
}
func convertStringToDictionary(text: String) -> [String:AnyObject]? {
if let data = text.data(using: String.Encoding.utf8) {
do {
return try JSONSerialization.jsonObject(with: data, options: []) as? [String:AnyObject]
} catch let error as NSError {
print(error)
}
}
return nil
}
和数据打印:
Optional(["name": Việt NAM, "data": {
capital = "H\U00c0 N\U1ed8I";
continents = "Ch\U00e2u \U00c1";}])
AnyObject 中的数据不是 UTF8。
【问题讨论】:
-
尝试[String:Any]转换数据
-
没有问题,就是刚刚打印了字典。如果您访问实际的字典值,那么一切都会按预期进行。
标签: json swift utf-8 nsdictionary nsjsonserialization