4 votes

Comment récupérer des données json à partir d'une url distante en utilisant swift 4 pour un tableau ?

J'essaie de voir quelle est la dernière et meilleure façon de récupérer des données json dans swift 4 (en utilisant la structure Codable).

J'ai les données json suivantes dans une url distante :

[
  {
    "products": [
        {
          "productid": "01",
          "price": "01"
        },
        {
          "productid": "02",
          "price": "02"
        }
    ]
  }
]

J'ai également mis en place la structure codable correspondante. Ma question est de savoir quelle serait la bonne façon de récupérer ces données en utilisant les dernières techniques de swift 4.

Je vois plusieurs façons de procéder, comme par exemple :

  • DataManager.getJSONFromURL ...
  • let jsonData = try Data(contentsOf : URL ...
  • let task = URLSession.shared.dataTask(with : url) ...
  • essayer JSONSerialization.data...

J'aimerais savoir quel est le format correct (le plus récent) pour récupérer des données json en utilisant swift 4 à partir d'une URL distante. Je vous remercie.

9voto

Robert Smith Points 374

J'ai trouvé la réponse à ma question.

Apple a annoncé Swift 4 dans le cadre de Xcode 9 lors de la WWDC 2017. Il apporte de très belles améliorations aux fonctionnalités existantes de Swift 3 ainsi que de la stabilité. Les dernières façons de travailler avec l'API REST dans Swift 4 sont l'utilisation d'URLSession et de JSONDecoder. Ce dernier a été introduit avec Swift 4.

Dans Swift 3, la plupart des développeurs utilisaient des frameworks tiers tels que SwiftyJson et Alamofire pour travailler avec des API REST. La raison en était, la plupart du temps, que l'analyse JSON avec Swift était très fastidieuse. Plus précisément, vous deviez configurer un initialisateur dans votre modèle, faire des boucles pour assigner des valeurs dans votre contrôleur, saisir des valeurs et ainsi de suite. Vous pouviez toujours copier/coller votre code, mais c'était toujours aussi fastidieux. Avec Swift 4, tout ce que vous aurez à faire est d'écrire une seule ligne pour décoder et analyser JSON.

URLSession et JSONDecoder sont tout ce dont vous avez besoin en Swift 4 pour récupérer des données json à partir d'une url distante. .

Pour plus d'informations et d'exemples, vous pouvez consulter ce site :

URLSession et JSONDecoder en Swift 4

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X