【发布时间】:2017-06-13 01:05:44
【问题描述】:
我从服务器接收到一个 JSON 字符串,它看起来像这样:
[[{\"type\":\"action\",\"action\":\"courier_on_map\",\"text\":\"\\u0421\\u043c\\u043e\\u0442\\u0440\\u0435\\u0442\\u044c \\u043d\\u0430 \\u043a\\u0430\\u0440\\u0442\\u0435\"}]]
Web 解析器说“JSON 字符串有效,但 JSON 数据不准确”。然而 JSONSerialization 说:
字符 1 周围的对象中没有值的字符串键
并返回错误。
代码:
func convertToNSDictionary() -> NSDictionary?
{
var string = self
string = string.replacingOccurrences(of: "[", with: "")
string = string.replacingOccurrences(of: "]", with: "")
if let data = string.data(using: .utf8) {
do {
return try JSONSerialization.jsonObject(with: data, options: []) as? NSDictionary
} catch {
print(error.localizedDescription)
}
}
return nil
}
【问题讨论】:
-
你可以在你的项目中使用这个最好的库,这只是你的代码,也许可以解决你的问题:github.com/SwiftyJSON/SwiftyJSON
-
你的代码对我来说运行良好,检查你的字符串不是可选的。
标签: json swift serialization swift3 jsonserializer