Os 10 principais comandos JQ todos os desenvolvedores do Linux devem saber

Os 10 principais comandos JQ todos os desenvolvedores do Linux devem saber

O JQ é um processador JSON da linha de comando versátil do Linux que permite que os desenvolvedores analisem, filmem e transformam dados JSON de maneira rápida e eficiente. Seus recursos poderosos o tornam uma ferramenta indispensável para quem trabalha com arquivos JSON nos sistemas Linux. Neste artigo, abordaremos os 10 principais comandos JQ essenciais que todo desenvolvedor Linux deve saber para otimizar suas tarefas de processamento JSON.

Exemplo de conteúdo de arquivo json

Para este tutorial, você pode usar o seguinte exemplo JSON Data em um arquivo nomeado entrada.JSON. Esses dados JSON representam uma variedade de pessoas com seus respectivos nomes, idades, países e endereços:

["Nome": "Alice", "Age": 35, "Country": "USA", "Endereço": "Street": "123 Main St", "City": "New York", "Estado ":" NY "," zip ":" 10001 ", " nome ":" bob "," idade ": 28," país ":" Canadá "," endereço ": " rua ":" 456 Maple Ave "," City ":" Toronto "," Província ":" On "," Postal_code ":" M5V 1A1 ", " Name ":" Charlie "," Age ": 42," Country ": "USA", "Endereço": "Street": "789 Oak St", "City": "San Francisco", "State": "CA", "Zip": "94102", "nome" : "David", "Age": 23, "País": "Canadá", "Endereço": "Street": "321 Pine St", "City": "Vancouver", "Província": "BC", "postal_code": "v6b 2p4"]
1234567891011121314151617181920212223242526272829303132333435363737383940414243444546["Nome": "Alice", "Age": 35, "Country": "USA", "Endereço": "Street": "123 Main St", "City": "New York", "Estado ":" NY "," zip ":" 10001 ", " nome ":" bob "," idade ": 28," país ":" Canadá "," endereço ": " rua ":" 456 Maple Ave "," City ":" Toronto "," Província ":" On "," Postal_code ":" M5V 1A1 ", " Name ":" Charlie "," Age ": 42," Country ": "USA", "Endereço": "Street": "789 Oak St", "City": "San Francisco", "State": "CA", "Zip": "94102", "nome" : "David", "Age": 23, "País": "Canadá", "Endereço": "Street": "321 Pine St", "City": "Vancouver", "Província": "BC", "postal_code": "v6b 2p4"]

Salve este conteúdo JSON em um arquivo nomeado "entrada.json ” e use -o como entrada para os vários comandos JQ no tutorial. Este exemplo de dados ajudará você a entender e praticar melhor os diferentes comandos e técnicas JQ descritas no artigo.

10 Exemplos de comando JQ para desenvolvedores Linux

  1. Dados JSON impressos bonitos
  2. Para impressionar dados JSON, basta passar o arquivo json para o comando jq seguido de um período (.):

    jq '.' entrada.JSON  

  3. Recuperar uma chave JSON específica
  4. Para extrair o valor de uma chave específica de um objeto JSON, use a seguinte sintaxe:

    jq '.chave 'entrada'.JSON
    1jq '.chave 'entrada'.JSON

    Por exemplo, para extrair o valor do "nome" chave, use:

    jq '.Nome 'entrada.JSON  

  5. Acesso valores de JSON aninhados
  6. Para acessar valores JSON aninhados, use o ponto (.) notação:

    jq '.chave1.key2.key3 'entrada.JSON
    1jq '.chave1.key2.key3 'entrada.JSON

    Por exemplo, para extrair o valor do "cidade" chave aninhada abaixo "endereço", usar:

    jq '.endereço.contribuição da cidade.JSON  

  7. Itera as matrizes JSON
  8. Use os suportes quadrados ([]) para iterar as matrizes JSON:

    jq '.[]' entrada.JSON  

    Para extrair teclas específicas de cada objeto dentro da matriz, use o tubo (|) Operador:

    jq '.[] | .chave 'entrada'.JSON  

  9. Filtre dados JSON
  10. Para filtrar dados JSON com base em condições específicas, use a função Selecionar:

    jq '.[] | Selecionar (.chave == "valor") 'entrada.JSON
    1jq '.[] | Selecionar (.chave == "valor") 'entrada.JSON

    Por exemplo, para filtrar objetos em uma matriz com um "idade" Maior que 30, usar:

    jq '.[] | Selecionar (.idade> 30) 'entrada.JSON  

  11. Mapear e transformar dados JSON
  12. Para mapear e transformar dados JSON, use os aparelhos encaracolados ():

    jq '.[] | key1: .key1, key2: .key2 'entrada.JSON
    1jq '.[] | key1: .key1, key2: .key2 'entrada.JSON

    Por exemplo, para criar um novo objeto JSON apenas com o "nome" e "idade" chaves, use:

    jq '.[] | nome: .nome idade: .idade 'entrada.JSON  

  13. Combine vários arquivos JSON
  14. Para mesclar dois arquivos JSON, use o * operador:

    jq -s '.[0] * .[1] 'arquivo1.JSON File2.JSON  

  15. Executar operações aritméticas
  16. O JQ pode executar operações aritméticas em valores numéricos de JSON:

    jq '.número 1 + .entrada 2 'entrada.JSON
    1jq '.número 1 + .entrada 2 'entrada.JSON

    Por exemplo, para calcular a soma de dois números em um arquivo json, use:

    jq '.número 1 + .entrada 2 'entrada.JSON  

  17. Classificar dados JSON
  18. Para classificar os dados JSON com base em uma chave específica, use o 'ordenar por' função:

    jq '.[] | ordenar por(.chave) 'entrada.JSON
    1jq '.[] | ordenar por(.chave) 'entrada.JSON

    Por exemplo, para classificar uma variedade de objetos pelo "idade" chave, use:

    jq '.[] | ordenar por(.idade) 'entrada.JSON  

  19. Dados do JSON do grupo
  20. Para agrupar os dados JSON com base em uma chave específica, use o 'group_by' função:

    JQ 'group_by (.chave) 'entrada.JSON
    1JQ 'group_by (.chave) 'entrada.JSON

    Por exemplo, para agrupar uma variedade de objetos pelo "país" chave, use:

    JQ 'group_by (.país) 'entrada.JSON  

Conclusão

Esses 10 principais comandos JQ essenciais oferecem uma base sólida para os desenvolvedores do Linux que trabalham com arquivos JSON. O domínio desses comandos ajudará você a analisar, filtrar e manipular os dados JSON com mais eficiência, aprimorando seu fluxo de trabalho de desenvolvimento.

À medida que você ganha experiência com o JQ, você descobrirá recursos e técnicas ainda mais avançadas que atendem às suas necessidades específicas. A ferramenta de linha de comando JQ é um ativo inestimável para qualquer desenvolvedor que trabalhe com dados JSON sobre sistemas Linux, e saber que esses itens essenciais servirão como um forte ponto de partida em sua jornada para se tornar um usuário de JQ Power.

Para expandir ainda mais seu conhecimento JQ, considere mergulhar na documentação oficial do JQ (https: // stedolan.Github.io/jq/manual/) e explorando recursos da comunidade, como tutoriais, postagens de blog e fóruns. À medida que você continua a aprimorar suas habilidades JQ, você desbloqueia todo o potencial dessa poderosa ferramenta de processamento JSON, tornando -a parte integrante do seu Linux Development Toolkit.