Poniższy kod, który napisałem i otrzymuję odpowiedź również w formacie JSON, ale typ JSON to „AnyObject” i nie jestem w stanie przekonwertować go na Array, aby móc go użyć.
Alamofire.request(.POST, "MY URL", parameters:parameters, encoding: .JSON) .responseJSON
{
(request, response, JSON, error) in
println(JSON?)
}
let data = JSONValue(JSON!)
. Następnie mogę wyodrębnić takie wartościdata["Id"]
. Dokumentacja SwiftyJSON zawiera przykłady sposobu pobierania tych wartości w żądanych typach. Jaki dokładnie błąd otrzymujesz?Odpowiedzi:
Odpowiedź na Swift 2.0 Alamofire 3.0 powinna wyglądać bardziej tak:
https://github.com/Alamofire/Alamofire/blob/master/Documentation/Alamofire%203.0%20Migration%20Guide.md
AKTUALIZACJA dla Alamofire 4.0 i Swift 3.0:
źródło
jak powyżej wspomniałem, możesz użyć biblioteki SwiftyJSON i uzyskać wartości, tak jak zrobiłem poniżej
moja lista produktów json powraca ze skryptu
wynik :
źródło
Swift 3, Alamofire 4.4 i SwiftyJSON:
To przeanalizuje dane wejściowe JSON:
źródło
JSON()
konwersji: github.com/SwiftyJSON/Alamofire-SwiftyJSONZnalazłem odpowiedź na GitHub dla Swift2
https://github.com/Alamofire/Alamofire/issues/641
źródło
Nie jestem ekspertem od JSON ani Swift, ale działają dla mnie następujące rzeczy. :) Wyodrębniłem kod z mojej bieżącej aplikacji i zmieniłem tylko „MyLog na println” i wprowadziłem spacje, aby wyświetlić go jako blok kodu (mam nadzieję, że go nie złamałem).
Mam nadzieję że to pomoże.
Edytować:
Dla odniesienia, oto co zwraca mój skrypt PHP:
źródło
szybki 3
źródło
Znalazłem sposób na przekonwertowanie response.result.value (wewnątrz zamknięcia Alamofire responseJSON) do formatu JSON, którego używam w mojej aplikacji.
Używam Alamofire 3 i Swift 2.2.
Oto kod, którego użyłem:
źródło
Zwykle używam biblioteki Gloss do serializacji lub deserializacji JSON w iOS. Na przykład mam JSON, który wygląda tak:
Najpierw modeluję tablicę JSON w strukturze Gloss:
A następnie w odpowiedzi Alamofire JSON robię następującą rzecz:
Dane wyjściowe z powyższego kodu:
źródło
Szybki 5
Alamofire API
źródło
Zostało to skompilowane za pomocą Xcode 10.1 i Swift 4
Doskonałe połączenie „Alamofire” (4.8.1) i „SwiftyJSON” (4.2.0). Najpierw należy zainstalować oba strąki
Odpowiedź serwera w formacie JSON:
W tym przypadku chcę wydrukować informacje „Host”: „Host”: „httpbin.org”
Zachowaj spokój i radość Kod 😎
źródło
w Swift 5 lubimy, użyj aliasów typu do zakończenia. Typlealias nie służy tylko do czyszczenia kodu.
źródło
źródło