Ich habe Probleme beim Parsen des JSON Ich komme zurück von der Wiki-API.AlamoFire 4.0 + SwiftyJSON Ausgepackt tief verschachtelt 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
Swift Code:
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"])")
}
}
}
}
Ich bin in der Lage, eine Antwort zu bekommen, natürlich, und zu versuchen, geh tiefer, aber ich bekomme immer Nullwerte, wenn ich versuche auszupacken.
Was fehlt mir? Hier ist ein Bild des Baumes. Ich versuche Titel, Bilder und den Auszug herauszuziehen.
Nach diesem Format, wie hier zu sehen, ergibt sich immer noch Null-Werte. Parameter schien nicht zu profitieren entweder: How do I access a nested JSON value using Alamofire and SwiftyJSON?
Vielen Dank! Das war die richtige Antwort. – softdownfeathers
Der erste Teil funktioniert, aber nach mehr Untersuchung, bemerkte ich, dass pages.values einen Fehler wirft. Sagt, dass JSON keine Mitglied "Werte" hat. Könnte es einen anderen Weg geben, dies zu tun, ohne den JSON in etwas anderes zu konvertieren? – softdownfeathers
@softdownfeathers Gern geschehen :) Ich habe die Antwort mit der korrekten Loop-Syntax für SwiftyJSON aktualisiert. –