JSONPATH em Python

JSONPATH em Python
Antes de começarmos a aprender a usar o jsonpath em Python, vamos apresentar brevemente o jsonpath. JSONPATH é uma linguagem de expressão. É usado para analisar uma string json ou construir um objeto JavaScript descrito pela string no python. A funcionalidade do jsonpath em python é semelhante ao xpath em xml. XPath é usado para analisar os dados em XML; Da mesma forma, o jsonpath é usado para analisar os dados no Python. A idéia é usar uma maneira eficiente de analisar os dados JSON sem carregar todos os dados JSON ou passar por todos os dados do JSON em Python e obter o resultado desejado. JSONPATH é uma abordagem otimizada pela memória em comparação com qualquer outra consulta JSON. Ele também fornece uma maneira de analisar dados JSON no Python com algumas linhas de código. JSONPATH tem várias bibliotecas. Neste artigo, aprenderemos sobre as bibliotecas JSONPATH e como usar essas bibliotecas com a ajuda de exemplos. Então, vamos começar o processo de aprendizado.

Bibliotecas JsonPath

Embora existam muitas bibliotecas JSONPATH, as mais populares são JSONPATH-RW, JSONPATH-RW-EXT e JSONPATH-NG. O JSONPATH é o porto do Perl, e é a versão JS do JSONPATH. O JSONPATH-RW é uma implementação completa da biblioteca JsonPath. As expressões no JSONPATH-RW são objetos de primeira classe, pois fornecem extensão de linguagem. Essas expressões são fáceis de transformar, estender, analisar e analisar.

Ele também fornece algumas extensões adicionais que estendem as funcionalidades do jsonpath. O JSONPATH-RW-EXT estende os recursos do JSONPATH-RW enquanto adiciona várias extensões, i i.e., filtro, aritmética, len, etc. A biblioteca JsonPath-NG está escrita na linguagem nativa do Python e na implementação final do JSONPATH. Ele suporta ambas as versões do Python; Python 2 e Python 3. Destina -se a queixas padrão que incluem operadores de comparação binária e aritmética definidos no jsonpath original.

Instalando bibliotecas JSONPATH

As bibliotecas JSONPATH-RW, JSONPATH-RW-EXT e JSONPATH-NG podem ser simplesmente instaladas usando o comando pip install. Abaixo está um guia passo a passo para instalar as bibliotecas JSONPATH, e você pode aprender a usar essas bibliotecas com a ajuda de exemplos.

Exemplo 1:

Nosso primeiro exemplo é sobre a biblioteca JsonPath-RW. A biblioteca JsonPath-RW oferece implementação estendida consideravelmente significativa e robusta do JSONPATH em Python. É bem parecido com as versões Python 2 e Python 3 de Python e suas extensões, eu.e., Python 2.7, Python 3.4, Python 3.5, Python 3.6, Python 3.7 e Pypy Pypy3. Para instalar o jsonpath-rw, use o comando listado.

!pip install jsonpath-rw

Quando você executa o comando PIP Install, a saída a seguir indicará a instalação bem-sucedida do JSONPATH-RW.

Depois que a biblioteca estiver instalada, você pode usá -lo para analisar dados JSON no Python para produzir qualquer resultado desejado. Veja o seguinte exemplo do JSONPATH-RW para o seu entendimento:

importar json
de jsonpath_rw importar jsonpath, parse
Estudantes_data = '"srno": 1, "stu_name": "robbin", "fad_name": "royel"'
JSONDATA = JSON.Cargas (estudantes_data)
Json_path_expr = parse ('$.Stu_name ')
STU_NAME = JSON_PATH_EXPR.Encontre (Jsondata)
print ("O nome do aluno é:", Stu_name [0].valor)

A saída a seguir que você receberá depois de usar a biblioteca JSONPATH-RW.

Exemplo 2:

Agora estaremos discutindo a biblioteca JSONPATH-RW-EXT. Para instalar a biblioteca JSONPATH-RW-EXT, o mesmo comando de instalação do PIP é usado, dê uma olhada:

!pip install jsonpath-rw-ext

Após a instalação bem-sucedida da biblioteca JSONPATH-RW-EXT, você obterá a seguinte saída:

Vamos ver um exemplo de JSONPATH-RW-EXT para saber como isso ajudará a analisar os dados JSON no Python.

importar jsonpath_rw_ext como jpext
Imprimir (JPext.Match ('$.Que [*] ', ' que ': [' tex ',' bar '],' próximo ':' quetex '))

Quando você executa o código acima em qualquer intérprete Python, você obterá a seguinte saída:

Exemplo 3:

Nosso último exemplo é sobre a biblioteca JsonPath ng. Novamente, para instalar a biblioteca JsonPath NG, você precisa usar o comando listado.

!pip install jsonpath-ng

Depois de instalar com sucesso a biblioteca JSONPATHNG, você poderá ver a seguinte saída.

Para atualizar a biblioteca JsonPath-NG, você precisa usar o comando listado. Aqui está a sintaxe do comando -pgrade python.

!pip install-upgrade jsonpath-ng

O comando dado acima instalará a versão mais recente da biblioteca JSONPATH-NG. No entanto, se o seu sistema já instalou a versão mais recente, você obterá a seguinte saída:

Aqui está um exemplo simples da biblioteca JsonPath-NG para ajudá-lo a aprender a analisar dados JSON em Python usando a biblioteca JSONPATHN-NG e obter o resultado desejado.

importar json
De JsonPath_ng importar jsonpath, parse
BooksData = '"Categoria": "Ficção", "Autor": "Herman Melville", "Title": "Sayings of the Century"' '
Dados = json.Cargas (BooksData)
Parsedata = parse ('$.Categoria')
Categoria = parsedata.Encontre (dados)
Parsedata1 = parse ('$.Autor')
Autor = parsedata1.Encontre (dados)
Parsedata2 = parse ('$.Título')
Título = parsedata2.Encontre (dados)
print ("A categoria do livro é:", categoria [0].valor)
print ("O autor do livro é:", autor [0].valor)
print ("O nome do livro é:", título [0].valor)

Execute o código fornecido acima em qualquer intérprete Python, e você obterá a saída subsequente.

Conclusão

Neste editorial, aprendemos sobre o jsonpath em Python. Vamos ter uma rápida recapitulação do artigo. O jsonpath em Python fornece uma maneira simples, fácil e rápida de analisar os dados JSON em Python para obter o resultado desejado sem passar por todos os dados JSON no Python. Ajuda a extrair o valor específico de uma enorme quantidade de dados enquanto economiza tempo e memória. É útil quando estamos interessados ​​apenas em alguns valores específicos em uma enorme quantidade de dados. Vimos três bibliotecas JSONPATH, JSONPATH-RW, JSONPATH-RW-EXT e JSONPATH-NG Libraries e, com a ajuda de exemplos, aprendemos a instalar e usar essas bibliotecas para analisar os dados JSON no Python. Essas bibliotecas são bibliotecas JSONPATH embutidas em Python, que vêm no pacote Python.