Comprendre et utiliser le format JSON

JSON
Vidéo non disponible ! Réessayez plus tard
Cette vidéo fait partie de la formation
Maîtriser Python
Revoir le teaser Je m'abonne
5,0
Transcription


99,00€ Je commande

Formation incluse dans l'abonnement Elephorm Je m'abonne à Elephorm

DescriptionProgrammeAvis
5,0

99,00€ Je commande

Formation incluse dans l'abonnement Elephorm Je m'abonne à Elephorm

Apprendre à utiliser le JSON pour la persistance et la communication des données.

Apprenez les bases de la persistance des données en utilisant le format JSON.

Cette leçon aborde la thématique de la persistance des données, en mettant en avant l'importance de bien choisir un format pour organiser et écrire ces données. Parmi les différents formats disponibles, le JSON se distingue par sa simplicité et sa popularité. Importé du monde JavaScript et popularisé par le web, le JSON offre de nombreux avantages pour la sérialisation des données et la communication entre machines, notamment grâce à sa légèreté et sa facilité d'utilisation.

Nous passerons en revue les principaux aspects qui rendent le JSON si utile, tels que sa capacité à mapper facilement avec les structures de données de nombreux langages, notamment Python. Le cours propose également des instructions sur l'utilisation du module JSON de Python, illustrant comment sérialiser et désérialiser des objets, ainsi que les limites du JSON, comme l'absence de support natif pour les objets datetime ou les commentaires.

Enfin, nous discuterons des cas d'utilisation du JSON, soulignant son ubiquité dans les applications web et non-web, et offrirons des exemples pratiques pour sauvegarder et lire des fichiers JSON avec Python.

Voir plus
Questions réponses
Qu'est-ce que le JSON et d'où vient-il?
Le JSON, qui signifie JavaScript Object Notation, est un format de texte dérivé de JavaScript pour stocker et échanger des données. Il a été popularisé par le web pour les échanges légers de données, notamment avec la technologie AJAX.
Quels sont les avantages du JSON par rapport au XML?
Le JSON est plus léger, plus facile à lire et à écrire pour les humains, et il est nativement supporté dans de nombreux langages de programmation, ce qui le rend plus pratique pour les échanges de données entre machines.
Quels sont les types de données supportés par le JSON?
Le JSON supporte les chaînes de caractères, les nombres, les objets, les tableaux, les booléens et les null. Il ne prend pas en charge directement des types comme les dates, qui doivent être convertis en chaînes de caractères.

Programme détaillé

3 commentaires
5,0
3 votes
5
4
3
2
1
xavier.leleu
Il y a 1 semaine
Bonjour,
Les thèmes variés agrémentés d'exemples simples et clairs enrichissent toutes les notions exposées de façon particulièrement pédagogique. 👍
L'approche didactique m'a permis de beaucoup mieux comprendre tout un tas de concepts plus ou moins bien assimilés auparavant avec une vue d'ensemble nettement plus limpide aujourd'hui. 🤓
Merci pour cette belle prestation. 🙏
michelkreutner
Il y a 1 an
Les explications sont claires et concises. Ce cours sur l'utilisation avancée de Python est tres intéressant. Il vous apportera des connaissances que vous pourrez ensuite approfondir.
Je suis vraiment tres satisfait par cette première formation suivie sur Python.
yvan.vogel
Il y a 3 ans
Hello, sur la video autour de asyncio, vous utilisez python 2.7.12. J'utilise python 3.10, aussi je souhaite faire partager mon code (qui fonctionne) selon ma vision et compréhension sur le sujet d'étude que vous avez proposé. Yvan Vogel.

#CODE en python 3.10.0 64 bits (VScode 1.62.3)
import datetime
import asyncio
import aiohttp
import requests


# ----------------------------------------------------------------------------------------------------------------------------
def req_bloquante(num):
print(f"Get {num}")
uid = requests.get("https://httpbin.org/uuid").json()["uuid"]
print(f"Res {num}: {uid}")


def faire_toutes_les_requetes():
for x in range(51):
req_bloquante(x)


print("=====> ### Bloquant : ")
start = datetime.datetime.now()
faire_toutes_les_requetes()
exec_time = (datetime.datetime.now() - start).seconds
print(f"Downloading all take {exec_time} seconds\n")

# ----------------------------------------------------------------------------------------------------------------------------


async def requeteSansBloquer(semaphore, num, session):
print(f"Get {num}")
# await semaphore.acquire() # putting this await semaphore commande the Res is ordering but process very slow ~60 sec
async with session.get("https://httpbin.org/uuid") as response:
uid = (await response.json())["uuid"]
# await asyncio.sleep(delay=3) #delay = number of seconds
# semaphore.release()
print(f"Res {num}: {uid}")
# return uid # ?


async def main():
semaphore = asyncio.Semaphore(value=1)
tasks = []
async with aiohttp.ClientSession(
loop=loop, connector=aiohttp.TCPConnector(ssl=False)
) as session:
for x in range(51):
tasks.append(requeteSansBloquer(semaphore, x, session))
await asyncio.gather(*tasks)
print("This is after the loop...")


if __name__ == "__main__":
print("=====> ### Non Bloquant : ")
start = datetime.datetime.now()
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
exec_time = (datetime.datetime.now() - start).microseconds
print(f"Downloading all take {exec_time} micro seconds\n")