Alamofire을 사용하여 만든 HTTP 호출에서 데이터로 반환되는 JSON 문자열을 처리하고 싶습니다.Alamofire in Swift : 사용 가능한 JSON 사전에서 응답 데이터 변환
This question은 SwiftyJSON을 사용합니다.
그러나 "조금 낮은 수준"으로 가서 응답 개체를 사전으로 변환하는 방법을 알고 싶었습니다.
추론은 사전이 JSON 객체로 응답을 변환하는 과정을 거치지 않고 응답의 JSON 값에 간단하고 쉬운 방법으로 액세스 할 수 있다고 생각하는 것입니다.
이것은 JSON 개체와 사전이 같은 것인가?입니다. 여기
은 내가 쓴 샘플 함수입니다 :func question() -> Void{
let response : DataRequest = Alamofire.request("http://aapiurl", parameters: nil)
// Working with JSON Apple developer guide:
// https://developer.apple.com/swift/blog/?id=37
response.responseJSON { response in
if let JSON = response.result.value
{
print("JSON: \(JSON)") // Works!
let data = JSON as! NSMutableDictionary
// Casting fails
// Could not cast value of type '__NSCFArray' (0x19f952150) to 'NSMutableDictionary' (0x19f9523f8).
print("Data: \(data)")
}
}
}
편집 : json으로 개체는 모든 유형의 것으로 보인다과에서 제안하는 방법 중 하나가없는
아래 답변.
는 내가 사전에 변환 할 노력하고 아래의 오류를 가지고있다 : 가 (또는 최상위 레벨에 가능하게 배열)을 사용하여 Dictionary입니다
여기서 '데이터'는 NSArray 유형입니다. 당신은'let data = JSON as try! NSArray'. –
Mhh ... 네 말이 맞습니다. 나는 배열을 반복하고 Dictionary (http : // stackoverflow)로 변환 할 수있다.co.kr/questions/31446960/convert-swift-array-to-dictionary with indexes)를 참조하십시오. 이게 최선의 관행인가? 평소에 무엇을합니까? – mm24
JSON.mutablearray ("key")처럼! NSMutableDictionary –