Créer une réponse JSON à Python

Créer une réponse JSON à Python

Le fichier JSON (JavaScript Object Notation) est un moyen très populaire pour échanger des données entre différents formats. Il contient des données dans le format de texte qui est prise en charge par diverses langues telles que Python, PHP, Perl, etc. L'objectif principal du fichier JSON est de transférer des données entre le serveur et le client. Les demandes sont générées par Python pour récupérer les données d'une ressource particulière URI. Si la réponse de la demande est retournée au format JSON, le contenu de la réponse peut être récupéré en utilisant la réponse.Fonction JSON (). Il renvoie la réponse en utilisant un objet de dictionnaire Python. Comment cette fonction peut être utilisée pour analyser la réponse JSON à l'aide de la bibliothèque Python Request sera affichée dans ce tutoriel.

Réponse JSON:

Le module de demande de Python contient le décodeur JSON à travailler avec les données JSON. La réponse.La fonction JSON () renvoie une réponse JSON si le décodeur JSON fonctionne correctement. La réponse.La fonction JSON () augmente l'exception si le décodeur JSON échoue et que la réponse JSON ne contient aucune donnée ou données non valides. La valeur de retour de la réponse.fonction reseulle_for_status () ou la réponse.Status_code doit être vérifié avant d'exécuter la réponse.Fonction JSON ().

Différentes utilisations de la réponse.JSON ():

Trois utilisations différentes de la réponse.La fonction JSON () sera affichée dans cette partie du tutoriel.

Exemple-1: utilisation simple de la réponse.JSON ()

L'utilisation simple de la réponse.La fonction JSON () sera exposée dans cet exemple. La réponse pour la demande de GET de l'uri, https: // API.github.com / est stocké dans une variable nommée réponse. Ensuite, la valeur de la variable de réponse est vérifiée. Si la variable de réponse contient une réponse non valide, elle imprimera un message d'erreur. Si la variable de réponse contient une réponse valide qui est le code d'état de la réponse et son contenu, un message de réussite imprimera.

# Module d'importation des demandes
Demandes d'importation
# Créer une demande de get
réponse = demandes.get ('https: // api.github.com / ')
# Vérifiez la réponse
Si la réponse:
# Imprimez le code d'état de la réponse
Imprimer («Le code d'état de la réponse est% d '% réponse.status_code)
# Imprimez le contenu JSON
Print ('Le contenu JSON est: \ n% s'% réponse.JSON ())
# Imprimez le message de réussite
imprimer ('\ nthe la demande est traitée avec succès.')
autre:
# Imprimez le message d'erreur pour la réponse non valide
Imprimer ('Réponse non valide.')

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script ci-dessus.

Exemple-2: utilisation de la réponse.JSON () avec une manipulation des exceptions

La façon d'utiliser la réponse.La fonction JSON () avec exception sera affichée dans cet exemple. Le module httperror est importé avec le module de demande dans le script pour gérer l'exception. Ici, l'adresse URI sera tirée de l'utilisateur pour utiliser les demandes.Fonction Get (). La réponse de cette demande sera stockée dans la variable de réponse. Ensuite, réponse.La fonction relem_for_status () est utilisée pour vérifier la réponse de la demande si elle est valide ou invalide. Si la réponse n'est pas valide, une exception sera générée et le code de tout bloc sauf sera exécuté en fonction de l'exception. Si la réponse est valide, le contenu de la variable de réponse sera itéré à l'aide d'une boucle pour imprimer les valeurs du dictionnaire dans chaque ligne qui contient les données de réponse.

# Module d'importation des demandes
Demandes d'importation
# Importer httperror pour la gestion des exceptions
des demandes.Exceptions Importer Httperror
# Définir l'uri
uri = entrée ('Entrez un uri valide: \ n')
# Imprimer le message d'attente
imprimer ('en attente de la réponse… \ n')
essayer:
# Créer une demande de GET pour lire le contenu des flux de github
réponse = demandes.obtenir (uri)
# Lever des exceptions si la réponse a échoué
réponse.relevé_ pour_status ()
# Lisez le contenu JSON
jsonResponse = réponse.JSON ()
print ("Le contenu JSON est: \ n")
# Lire et imprimer chaque paire de valeurs clés de la réponse JSON
pour la clé, valeur en jsonResponse.articles():
imprimer (clé, ":", valeur)
# Imprimer le message d'erreur pour l'erreur HTTP
sauf httperror comme http_err:
print ('Http Erreur s'est produite:% S'% http_err)
# Imprimer le message d'erreur pour l'erreur HTTP
sauf l'exception comme err:
imprimer ('Autre erreur s'est produite:% s'% err)

Sortir:

La sortie suivante apparaîtra après l'exécution du script lorsqu'une valeur URI non existence sera fournie par l'utilisateur. Ici, l'exception Httperror avait été générée à côté du message d'erreur correspondant.


La sortie suivante apparaîtra après l'exécution du script lorsqu'une valeur URI non valide sera fournie par l'utilisateur. Ici, l'autre exception avait été générée avec un message d'erreur correspondant.

La sortie suivante apparaîtra après l'exécution du script lorsqu'une valeur URI valide sera fournie par l'utilisateur. Ici, le contenu JSON a été correctement imprimé.

Exemple-3: utilisation de la réponse.JSON () avec une chaîne de requête

La façon d'utiliser la réponse.La fonction JSON () avec une chaîne de requête sera affichée dans cet exemple. Ici, les demandes.la fonction get () a utilisé une valeur de chaîne de requête avec l'URI à l'aide de paramètres. Il recherchera les entrées pour la langue Perl dans les référentiels donnés. Si la variable de réponse contient une réponse valide, le nom et la description du référentiel seront imprimés, sinon, il y aura un message d'erreur.

# Module d'importation des demandes
Demandes d'importation
# Recherche dans le référentiel de GitHub à l'aide de la chaîne de requête
réponse = demandes.obtenir(
'https: // api.github.com / recherche / référentiels ',
params = 'q': 'requêtes + langage: perl',
)
# Vérifiez la réponse
Si la réponse:
# Lisez le contenu JSON
JSON_RESPONNE = RÉPONSE.JSON ()
# Lisez l'élément de référentiel particulier
Repository = json_response ['items'] [0]
# Imprimez le nom du référentiel
print ('Nom du référentiel:% S'% Référentiel ["Nom"])
# Imprimez la description du référentiel
print ('Repository Description:% s'% référentiel ["Description"])
autre:
# Imprimez le message d'erreur pour la réponse non valide
Imprimer ('Réponse non valide.')

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script ci-dessus. Le nom et la description du référentiel de la langue Perl avaient été imprimés ici.

Conclusion:

Différentes façons d'envoyer la demande à un URI particulier et de lire la réponse en utilisant la réponse.La fonction JSON () a été montrée dans ce tutoriel en utilisant des exemples simples. J'espère que ce tutoriel aidera les lecteurs à comprendre l'utilisation de la réponse JSON dans Python et à l'appliquer correctement dans leur script lorsqu'il sera nécessaire.