我已经看过其他问题,但我似乎无法找到一个能回答我问题的问题。
我有这个Json文件:
[
"posts",
{
"2015": [
"post title one"
],
"2016": [
"post title one",
"post title two"
]
}
]
我在Swift文件中有这个代码:
Alamofire.request(.GET, url).validate().responseJSON { response in
switch response.result {
case .Success:
if let value = response.result.value {
let json = JSON(value)
for (key, subJson) in json["posts"] {
if let year = subJson.string {
print(year)
}
}
}
case .Failure(let error):
print(error)
}
}
我可以从服务器上获取json。
在这一行:
for (key, subJson) in json["posts"] {
我收到此错误:
从未使用不可变值'key',考虑使用'_'重播或删除它
我试过了,并尝试删除它 - 仍然没有显示在控制台中。
另外,在这一行:
if let year = subJson.string {
我收到此错误:
元组类型'元素'(又名'(String,JSON)')的值没有成员'string'
我想做的是:
遍历这些年并将它们放在一个合适的视图中。有人可以帮忙吗?
答案 0 :(得分:2)
这样做:
for (_, subJson) in json["posts"] {
for (year, content) in subJson {
print(year)
}
}
第一个错误只是一个警告,这意味着你永远不会使用“key”变量,所以编译器建议不要标记它。在我的示例中,由于我们没有使用它,您会收到content
的类似警告:要么使用它,要么用_
替换它。
请注意,我在您的代码中推断您的JSON格式,因为您的JSON代码段看起来确实无效/不是实际的。
更新:
for (_, subJson) in json["posts"] {
for (year, content) in subJson {
print(year)
for (_, title) in content {
print(title)
}
}
}