Python - Comment sérialiser et désérialiser du JSON ?

Python - Comment sérialiser et désérialiser du JSON ?

Date de sortie
July 16, 2024
Auteur
Bertrand Fabre
“Super, j’ai plein de lignes en chaîne de caractères avec des infos qui semblent pertinentes, mais je fais comment pour récupérer ce qui m’intéresse en masse ?”

Python a dans sa boîte à outils de nombreuses fonctions et méthodes pour solutionner des problématiques.

Dans notre cas, l’API python propose la méthode split() pour nous aider à découper une chaîne de caractères.

La syntaxe :

str.split(sep=None, maxsplit=-1)
  • Le paramètre “sep” sert à définir le séparateur d’une chaîne de caractères. S’il n’est pas spécifié ou None ce sont les espaces, les tabulations, les nouvelles lignes, etc. qui seront utilisés par défaut ;
  • Le paramètre “maxsplit” permet d’imposer un nombre de découpage maximum. La valeur par défaut est -1 ce qui ne limite pas le nombre de découpages.

Pour imager un peu plus, on va prendre en exemple, la donnée de transaction suivante :

transaction = "ID12345 2024-07-15 10:31:43 79.99 EUR"

On veut découper cette transaction qui contient, l’identifiant unique, le moment de la transaction, son montant et sa monnaie.

On utilise donc split() sur cette transaction sans lui spécifier de paramètres :

details = transaction.split()

print(details)
# ['ID12345', '2024-07-15', '10:31:43', '79.99', 'EUR']

Maintenant, prenons un cas où nous devons utiliser un séparateur et où toutes les données ne nous intéresse pas (surtout à la fin pour faire simple 😝) :

transaction = "ID12345|2024-07-15|10:31:43|79.99|EUR|\odf^CX|02I2OINBNDO"

details = transaction.split(sep="|", maxsplit=5)

print(details)
# ['ID12345', '2024-07-15', '10:31:43', '79.99', 'EUR', 'odf^CX|02I2OINBNDO']

details[:-1]
# ['ID12345', '2024-07-15', '10:31:43', '79.99', 'EUR']

Comme vous le remarquez, le dernier élément de la liste regroupe les chaînes de caractères restantes.

Et j’ai utilisé “[:-1]” pour obtenir seulement les données qui m’intéressent : du début jusqu’à l’avant dernier élément.

Merci de votre lecture !