1
JSON 구문 분석에 문제가 있습니다. 위키 API에서 문제가 발생합니다.AlamoFire 4.0 + SwiftyJSON 깊게 중첩 된 JSON 전개 해제
Podfile :
platform :ios, ’10.0’
inhibit_all_warnings!
use_frameworks!
target 'GemFinder' do
pod 'Alamofire', '~> 4.0’
pod 'SwiftyJSON', :git => 'https://github.com/appsailor/SwiftyJSON.git', :branch => 'swift3'
end
스위프트 코드 :
import UIKit
import Alamofire
import SwiftyJSON
class WikiAPI: NSObject {
func MineralRequest(minID: (String)) {
Alamofire.request("https://en.wikipedia.org/w/api.php?action=query&titles=\(minID)&exintro=1&prop=pageimages%7Cextracts&format=json&pithumbsize=300", parameters: ["query": "pages"]).responseJSON { response in
if let values = response.result.value as? [String: AnyObject] {
let json = JSON(values)
// Returns null
print("otherJSON: \(json["query"]["pages"][0]["extract"])")
let JSONvalues = values as NSDictionary
print("JSONvalues: \(JSONvalues)")
// This is also working to retrieve everything from below "query"
let parse = JSONvalues.object(forKey: "query")
print("Parse: \(parse)")
let queryValues = values["query"]
// Returns nested "pages" object, but I need to go deeper.
print("queryvalues: \(queryValues?["pages"])")
}
}
}
}
및하려고 더 깊게 가라. unwrap을 시도 할 때 null 값을 계속 가져옵니다.
무엇이 누락 되었습니까? 여기 나무의 이미지가 있습니다. 제목, 이미지 및 추출물을 꺼내려고합니다. 이 형식에 따라
는, 여기에서 볼 수 있듯이, 여전히 null 값을 산출한다. How do I access a nested JSON value using Alamofire and SwiftyJSON?
고마워요! 이것이 정답이었습니다. – softdownfeathers
첫 번째 부분은 작동하지만 더 많은 조사가 끝나면 pages.values가 오류를 발생시키는 것으로 나타났습니다. JSON에 멤버 "값"이 없다고 말합니다. JSON을 다른 것으로 변환하지 않고도이 작업을 수행 할 수있는 또 다른 방법이 있을까요? – softdownfeathers
@softdownfeathers 환영합니다 :) SwiftyJSON에 대한 올바른 루프 구문으로 대답을 업데이트했습니다. –