次の 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]]?) -> _?
Keys
asString
とValues
asで辞書を取得するにはどうすればよいArray
ですか? Generic
私は彼らのアプローチ を維持したいと思います。