Astuce Swift 4 - JSON

Hello les amis,

J’ai vien de découvrir une nouveauté implémenté dans swift 4 qui va surement en interesser plus d’un. Cette nouveauté vous permet nativement d’encoder et decoder vos Object au format JSON, ultra pratique pour la persistance de donnée.

Comme un exemple vaut mieu qu’un long discour ,voici comment faire:

Petit précision, il faut que vos object respect le protocol « Codable »

class Personne:Codable{

var name:String
var firsName:String
var age:Int

init(yourName:String,yourSurname:String,yourAge:Int){
    name = yourName
    firsName = yourSurname
    age = yourAge
}

}

Encoder :

let newObject = Personne(yourName: « Mestari », yourFirstName: « Samir », yourAge: 31)
do {
let jsonData = try JSONEncoder().encode(newObject)
print(« succes »)
}catch{
print(« Erreur »)
}

Resultat en JSON

{
« age »:31,
« firstName »:« Samir »,
« name »:« Mestari »
}

Decoder le json

do{
let personne = try JSONDecoder().decode(Personne.self, from: jsonData)
print(« Succès »)
}catch{
print(« erreur de récuperation »)
}

Voilà c’est aussi simple que sa.
Ps: vous pouvez stocker le fichier JSON dans le Document Directory de votre application, je me suis permet de vous faire un petit exemple qui montre commentre procéder pour le faire :

ps2: Je tien a préciser qu’il vous faudra xcode 9 beta

Happy Coding :slight_smile:

2 « J'aime »

Intéressant. On peut ajouter qu’XCode 9 sera l’outil de développement officiel d’Apple en Septembre/Octobre. C’est presque demain … Il est temps de s’y préparer.

1 « J'aime »

C’est une super fonctionnalité, j’utilisais ObjectMapper jusqu’à présent mais c’est encore mieux avec une dépendance de moins :+1:

2 « J'aime »

Salut Samir.
Merci pour ces astuces

Serais-tu par hazard ou se trouve le fichier que ce soit en simulateur ou sur le device iOS? Le chemin d’accès.

Merci

Salut GIlou,

Si tu souhaite acceder au DocumentDirectory de ton simulateur tu peu utiliser une petite appli très sympa qui s’apel openSIm, pour l’installer ouvre ton terminal et tap ;

Install Homebrew: /usr/bin/ruby -e « $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install) »
Install Cask: brew install cask
Install OpenSim: brew cask install opensim

plus d’info ici :

Je ne sais pas si tu as accès au coatching de goupe, si c’est le cas je te conseil de visioner le dernier épisode Maxime en parle.

Biensûr si jamais tu as besoin d’aide n"hésite pas

1 « J'aime »