let responseJSON = try? JSONSerialization.jsonObject(with: data, options: [.allowFragments])
if let responseJSON = responseJSON as? [String:Any] {
if let tJsonObj = xResponse["d"] as? [[String:Any]] {
// not working here...
}
}
tJsonObj变量没有获取我的json数组内容。 我的json看起来像这样:
{"d": "[{\"title\":\"xxx\",\"timestamp\":\"2017-10-16 23:53:40\"},{\"title\":\"Mein Test iPhone 7\",\"timestamp\":\"2017-10-17 18:16:24\"}]"}
我希望有人可以提供帮助 - 谢谢!
答案 0 :(得分:1)
键d
的值是另一个JSON字符串。您需要使用JSONSerialization
两次
do {
if let responseJSON = try JSONSerialization.jsonObject(with: data) as? [String:Any],
let tJsonObj = responseJSON["d"] as? String {
if let innerJSON = try JSONSerialization.jsonObject(with: Data(tJsonObj.utf8)) as? [[String:Any]] {
for item in innerJSON {
print(item)
}
}
}
} catch {
print(error)
}
答案 1 :(得分:0)
d
的内部JSON看起来已转义。有效的JSON应该类似于:
{"d": "[{"title":"xxx","timestamp":"2017-10-16 23:53:40"},...
你的JSON来自哪里?