次の JSON を解析しようとしています。
{
"String For Key 1": [
"Some String A",
"Some String B",
"Some String C",
],
"String For Key 2": [
"Some String D",
"Some String E",
"Some String F"
],
"String For Key 3": [
"Some String G",
"Some String H",
"Some String I",
],
"String For Key 4": [
"Some String J",
"Some String K",
"Some String L"
],
"String For Key 5": [
"Some String M",
"Some String N",
"Some String O"
],
"String For Key 6": [
"Some String P",
"Some String Q",
"Some String R"
]
}
私もこのチュートリアルに従っています。Playground の Github にあります
Arrayこの例では、次を使用して一連の辞書を解析しています。typealias JSONDictionary = [String: AnyObject]
を解析する必要がDictionaryあり、KeyこれはStringであり、ValueそれはArrayです。したがってtypealias JSONDictionary = [String: [AnyObject]]、 を返すときにエラーが発生しますflatMap。
extension Resource {
init(url: NSURL, parseJSON: AnyObject -> A?) {
self.url = url
self.parse = { data in
let json = try? NSJSONSerialization.JSONObjectWithData(data, options: []) as? [String: [AnyObject]]
//This is where I get an error
return json.flatMap(parseJSON)
}
}
}
エラー:
Cannot convert value of type `AnyObject -> A? to expected argument type `([String: [AnyObject]]?) -> _?
KeysasStringとValuesasで辞書を取得するにはどうすればよいArrayですか? Generic私は彼らのアプローチ を維持したいと思います。