Swift에서이 구조를 나타내는 경우 사전뿐만 아니라 배열에도 대괄호를 사용하십시오.
let z = [
[
"Name":[
"First":"Tika",
"Last":"Pahadi"
],
"City":"Berlin",
"Country":"Germany"
]
]
let c = z[0]["Name"]?["First"] as String
을하지만 이제 당신이 정말로 닮은 JSON 피드했다 가정 해 봅시다 : : 그리고 선택적 항목 랩을 해제하는 것을 잊지 마세요 그리고 당신이 그것을 구문 분석 NSJSONSerialization
을 사용
[
{
"Name": {
"First": "Tika",
"Last": "Pahadi"
},
"City": "Berlin",
"Country": "Germany"
}
]
을하지만, 결과를 예를 들어 스위프트 사전 배열로 캐스팅 할 수 있습니다.
var error: NSError?
if let jsonObject = NSJSONSerialization.JSONObjectWithData(data, options: nil, error:&error) as? [[String: AnyObject]] {
if let firstName = jsonObject[0]["Name"]?["First"] as? String {
println(firstName)
}
}
, 이름을 추출하기위한 패턴은 매우 유사합니다. 또는 항목을 반복 할 수 있습니다.
if let jsonObject = NSJSONSerialization.JSONObjectWithData(data, options: nil, error:&error) as? [[String: AnyObject]] {
for personEntry in jsonObject {
if let firstName = personEntry["Name"]?["First"] as? String {
println(firstName)
}
}
}
출처
2015-01-01 22:44:29
Rob
"NSArray"로 캐스트해야합니다. "또는 Swift 배열로 이동해야합니다. ;) – Rob