Прежде чем мы начнем изучать, как использовать JSONPath в Python, давайте кратко представим JSONPath. JSONPath — это язык выражений. Он используется для анализа строки JSON или создания объекта JavaScript, описываемого строкой в Python. Функциональность JSONPath в Python аналогична XPath в XML. XPath используется для анализа данных в XML; аналогично JSONPath используется для анализа данных в Python. Идея состоит в том, чтобы использовать эффективный способ анализа данных JSON без загрузки всех данных JSON или просмотра всех данных JSON в Python и получения желаемого результата. JSONPath — это подход, оптимизированный для памяти, по сравнению с любым другим запросом JSON. Он также предоставляет способ анализа данных JSON в Python с помощью нескольких строк кода. JSONPath имеет различные библиотеки. В этой статье, мы узнаем о библиотеках JSONPath и о том, как использовать эти библиотеки с помощью примеров. Итак, приступим к процессу обучения.
Библиотеки JSONPath
Хотя существует множество библиотек JSONPath, наиболее популярными из них являются jsonpath-rw, jsonpath-rw-ext и jsonpath-ng. jsonpath — это порт Perl и JS-версия JSONPath. jsonpath-rw — это полная реализация библиотеки JSONPath. Выражения в jsonpath-rw являются первоклассными объектами, поскольку они обеспечивают расширение языка. Эти выражения легко преобразовывать, расширять, анализировать и анализировать.
Он также предоставляет некоторые дополнительные расширения, расширяющие функциональные возможности JSONPath. jsonpath-rw-ext расширяет возможности jsonpath-rw, добавляя несколько расширений, т. е. фильтр, арифметику, len и т. д. библиотека jsonpath-ng написана на родном языке python и является окончательной реализацией JSONPath. Он поддерживает обе версии Python; python 2 и python 3. Он предназначен для стандартных жалоб, которые включают как бинарные, так и арифметические операторы сравнения, определенные в исходном JSONPath.
Установка библиотек JSONPath
Библиотеки jsonpath-rw, jsonpath-rw-ext и jsonpath-ng можно просто установить с помощью команды pip install. Ниже приведено пошаговое руководство по установке библиотек JSONPath, и вы можете научиться использовать эти библиотеки с помощью примеров.
Пример 1
Наш первый пример касается библиотеки jsonpath-rw. Библиотека jsonpath-rw предлагает значительную и надежную расширенную реализацию JSONPath в Python. Он хорошо сочетается с версиями Python 2 и Python 3 и их расширениями, т. е. python 2.7, python 3.4, python 3.5, python 3.6, python 3.7 и pypy pypy3. Чтобы установить jsonpath-rw, используйте указанную команду.
Когда вы выполняете команду pip install, следующий вывод укажет на успешную установку jsonpath-rw.
После установки библиотеки вы можете использовать ее для анализа данных JSON в Python для получения любого желаемого результата. См. следующий пример jsonpath-rw для вашего понимания:
import json
from jsonpath_rw import jsonpath, parseStudents_data = ‘{«SrNo»:1, «Stu_Name»:»Robbin» , «Father_name»:»Royel»}’
JsonData = json.loads(Students_data)Json_Path_Expr= parse(‘$.Stu_Name’)
Stu_Name = Json_Path_Expr.find(JsonData)print(«The Name of the student is: «, Stu_Name[0].value)
Следующий вывод вы получите после использования библиотеки jsonpath-rw.
Пример 2
Теперь мы будем обсуждать библиотеку jsonpath-rw-ext. Для установки библиотеки jsonpath-rw-ext используется та же самая команда pip install, посмотрите:
После успешной установки библиотеки jsonpath-rw-ext вы получите следующий вывод:
Давайте посмотрим на пример jsonpath-rw-ext, чтобы узнать, как он поможет анализировать данные JSON в python.
import jsonpath_rw_ext as jpExt
print (jpExt.match(‘$.que[*]’, {‘que’: [‘tex’, ‘bar’], ‘next’: ‘quetex’}))
Когда вы выполните приведенный выше код в любом интерпретаторе Python, вы получите следующий вывод:
Пример 3
Наш последний пример касается библиотеки JSONPath NG. Опять же, чтобы установить библиотеку JSONPath NG, вам нужно использовать указанную команду.
После успешной установки библиотеки jsonpath-ng вы увидите следующий вывод.
Чтобы обновить библиотеку jsonpath-ng, вам нужно использовать указанную команду. Вот синтаксис команды —upgrade python.
Приведенная выше команда установит последнюю версию библиотеки jsonpath-ng. Однако, если в вашей системе уже установлена последняя версия, вы получите следующий вывод:
Вот простой пример библиотеки jsonpath-ng, который поможет вам научиться анализировать данные JSON в Python с помощью библиотеки JSONPath-ng и получить желаемый результат.
import json
from jsonpath_ng import jsonpath, parsebooksData = ‘{«Category»:»Fiction», «Author»:»Herman Melville» , «Title»:»Sayings of the Century»}’
Data = json.loads(booksData)
ParseData= parse(‘$.Category’)
Category = ParseData.find(Data)
ParseData1= parse(‘$.Author’)
Author = ParseData1.find(Data)
ParseData2= parse(‘$.Title’)
Title = ParseData2.find(Data)print(«The Category of the book is: «, Category[0].value)
print(«The Author of the book is: «, Author[0].value)
print(«The Name of the book is: «, Title[0].value)
Выполните приведенный выше код в любом интерпретаторе Python, и вы получите следующий вывод.
Вывод
В этой редакционной статье мы узнали о JSONPath в Python. Давайте кратко повторим статью. JSONPath в Python предоставляет простой, легкий и быстрый способ анализа данных JSON в Python для получения желаемого результата без просмотра всех данных JSON в Python. Это помогает извлечь конкретное значение из огромного количества данных, экономя время и память. Это удобно, когда нас интересуют только некоторые конкретные значения в огромном количестве данных. Мы рассмотрели три библиотеки JSONPath, библиотеки jsonpath-rw, jsonpath-rw-ext и jsonpath-ng, и с помощью примеров узнали, как устанавливать и использовать эти библиотеки для анализа данных JSON в Python. Эти библиотеки являются встроенными библиотеками JSONPath, которые входят в пакет python.