JSONPATH à Python

JSONPATH à Python
Avant de commencer à apprendre à utiliser le jsonpath à Python, introduisons brièvement JSONPath. JSONPATH est une langue d'expression. Il est utilisé pour analyser une chaîne JSON ou construire un objet JavaScript décrit par la chaîne dans Python. La fonctionnalité de JSONPath dans Python est similaire au XPATH dans XML. XPATH est utilisé pour analyser les données dans XML; De même, JSONPath est utilisé pour analyser les données de Python. L'idée est d'utiliser un moyen efficace pour analyser les données JSON sans charger les données JSON entières ou passer par l'ensemble des données JSON en Python et obtenir le résultat souhaité. JSONPath est une approche optimisée par la mémoire par rapport à toute autre requête JSON. Il fournit également un moyen d'analyser les données JSON à Python avec quelques lignes de code. Jsonpath a diverses bibliothèques. Dans cet article, nous découvrirons les bibliothèques JSONPath et comment utiliser ces bibliothèques à l'aide d'exemples. Alors commençons le processus d'apprentissage.

Bibliothèques JSONPath

Bien qu'il existe de nombreuses bibliothèques JSONPath, les plus populaires sont JSONPath-RW, JSONPath-RW-EXT et JSONPATH-NG. Le jsonpath est le port de la perl, et c'est la version JS de JsonPath. Le JSONPath-RW est une implémentation complète de la bibliothèque JSONPath. Les expressions dans JSONPath-RW sont des objets de première classe car ils fournissent une extension de langue. Ces expressions sont faciles à transformer, à étendre, à analyser et à analyser.

Il fournit également des extensions supplémentaires qui étendent les fonctionnalités de JSONPATH. Le JSONPath-RW-EXT étend les capacités de JSONPath-RW tout en ajoutant plusieurs extensions, i.e., Filtre, arithmétique, len, etc. La bibliothèque JSONPath-NG est écrite en langue python native et la mise en œuvre finale du jsonpath. Il prend en charge les deux versions de Python; Python 2 et Python 3. Il est destiné à des plaintes standard qui incluent des opérateurs de comparaison binaire et arithmétique définis dans le JSONPath d'origine.

Installation de bibliothèques JSONPath

Les bibliothèques JSONPath-RW, JSONPath-RW-Ext. Vous trouverez ci-dessous un guide étape par étape pour installer les bibliothèques JSONPath, et vous pouvez apprendre à utiliser ces bibliothèques à l'aide d'exemples.

Exemple 1:

Notre premier exemple concerne la bibliothèque JSONPath-RW. La bibliothèque JSONPath-RW offre une implémentation étendue considérablement significative et robuste de JSONPath à Python. Il est bien assorti avec les versions Python 2 et Python 3 de Python et leurs extensions, je.e., Python 2.7, Python 3.4, Python 3.5, Python 3.6, Python 3.7, et Pypy Pypy3. Pour installer le jsonpath-rw, utilisez la commande répertoriée.

!pip install jsonpath-rw

Lorsque vous exécutez la commande PIP d'installation, la sortie suivante indiquera l'installation réussie de JSONPath-RW.

Une fois la bibliothèque installée, vous pouvez l'utiliser pour analyser les données JSON dans Python pour produire tout résultat souhaité. Voir l'exemple suivant de JSONPath-RW pour votre compréhension:

Importer JSON
De JSONPATH_RW Importer JsonPath, analyse
Students_data = '"Srno": 1, "Stu_name": "Robbin", "père_name": "Royel"'
JSONDATA = JSON.charges (étudiants_data)
Json_path_expr = parse ('$.Stu_name ')
Stu_name = json_path_expr.trouver (jsondata)
print ("Le nom de l'élève est:", Stu_name [0].valeur)

La sortie suivante que vous obtiendrez après avoir utilisé la bibliothèque JSONPath-RW.

Exemple 2:

Nous allons maintenant discuter de la bibliothèque JSONPath-RW-EXT. Pour installer la bibliothèque JSONPath-RW-EXT, la même commande PIP d'installation est utilisée, jetez un œil:

!pip install jsonpath-rw-ext

Après l'installation réussie de la bibliothèque JSONPath-RW-EXT, vous obtiendrez la sortie suivante:

Voyons un exemple de jsonpath-rw-ext pour savoir comment cela aidera à analyser les données JSON à Python.

importer jsonpath_rw_ext en tant que jpext
imprimer (jpext.match ('$.que [*] ', ' Que ': [' Tex ',' Bar '],' Next ':' Quetex '))

Lorsque vous exécutez le code ci-dessus dans n'importe quel interprète Python, vous obtiendrez la sortie suivante:

Exemple 3:

Notre dernier exemple concerne la bibliothèque JSONPath NG. Encore une fois, pour installer la bibliothèque JSONPath NG, vous devez utiliser la commande répertoriée.

!pip install jsonpath-ng

Après avoir réussi à installer la bibliothèque JSONPath-NG, vous verrez la sortie suivante.

Pour mettre à niveau la bibliothèque JSONPath-NG, vous devez utiliser la commande répertoriée. Voici la syntaxe de la commande python-upgrade.

!PIP Install - mise à niveau JSONPath-ng

La commande donnée ci-dessus installera la dernière version de la bibliothèque JSONPath-NG. Cependant, si votre système a déjà installé la dernière version, vous obtiendrez la sortie suivante:

Voici un exemple simple de la bibliothèque JSONPath-NG pour vous aider à apprendre à analyser les données JSON dans Python à l'aide de la bibliothèque JSONPath-NG et à obtenir le résultat souhaité.

Importer JSON
De JSONPath_ng Importer Jsonpath, analyse
bookdata = '"catégorie": "fiction", "auteur": "Herman Melville", "Titre": "Sayings of the Century"'
Data = json.Loads (BooksData)
Parsedata = parse ('$.Catégorie')
Catégorie = parsedata.trouver (données)
Parsedata1 = parse ('$.Auteur')
Auteur = parsedata1.trouver (données)
Parsedata2 = parse ('$.Titre')
Titre = parsedata2.trouver (données)
Print ("La catégorie du livre est:", catégorie [0].valeur)
Print ("L'auteur du livre est:", auteur [0].valeur)
print ("Le nom du livre est:", titre [0].valeur)

Exécutez le code donné ci-dessus dans n'importe quel interprète Python, et vous obtiendrez la sortie suivante.

Conclusion

Dans cet éditorial, nous avons appris le jsonpath à Python. Ayons un récapitulatif rapide de l'article. Le JSONPath à Python fournit un moyen simple, facile et rapide d'analyser les données JSON à Python pour obtenir le résultat souhaité sans passer par les données JSON entières dans Python. Il aide à extraire la valeur spécifique à partir d'une énorme quantité de données tout en gagnant du temps et de la mémoire. Il est utile que lorsque nous ne sommes intéressés que par certaines valeurs spécifiques dans une énorme quantité de données. Nous avons vu trois bibliothèques JSONPath, JSONPath-RW, JSONPath-Rw-Ext. Ces bibliothèques sont des bibliothèques JSONPath intégrées Python intégrées qui viennent dans le package Python.