InglêsFrancêsEspanhol

Ad


favicon do OnWorks

jshon - Online na nuvem

Execute jshon no provedor de hospedagem gratuita OnWorks no Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

Este é o comando jshon que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

PROGRAMA:

NOME


jshon - analisador JSON para o shell

SINOPSE


jshon - [P | S | Q | V | C | I | 0] [-F caminho] - [t | l | k | u | p | a] - [s | n] valor - [e | i | d] índice

DESCRIÇÃO


jshon analisa, lê e cria JSON. Ele é projetado para ser o mais utilizável possível a partir de
dentro do shell e substitui analisadores adhoc frágeis feitos de grep / sed / awk, bem como
analisadores de uma linha pesados ​​feitos de perl / python.

jshon carrega o texto json de stdin, executa ações e exibe a última ação em stdout.
Algumas das opções geram json, outras geram resumos em texto simples. Porque Bash tem muito
estruturas de dados aninhadas pobres, jshon não retorna o JSON como um objeto nativo como um típico
biblioteca faria. Em vez de jshon retém um histórico de edições em uma pilha, e você manipula o
elemento JSON superior.

AÇÕES


Cada ação assume a forma de uma opção curta. Alguns requerem argumentos. Embora muitas instâncias
of jshon podem ser canalizados entre si, as ações devem ser encadeadas sequencialmente para reduzir
chamadas. Todos os exemplos usam este exemplo json:

{"a": 1, "b": [verdadeiro, falso, nulo, "str"], "c": {"d": 4, "e": 5}}
jshon [ações] <sample.json

Os usos somente leitura mais comuns precisarão apenas de vários -e ações e um -a no meio de
Eles.

-t (tipo) retorna string, objeto, matriz, número, bool, nulo

jshon -t -> objeto

-l (comprimento) retorna um inteiro. Funciona apenas em string, objeto, array.

jshon -l -> 3

-k (chaves) retorna uma lista de chaves separadas por nova linha. Funciona apenas no objeto.

jshon -k -> abc

-e índice
(extrair) retorna o valor json em "índice". Funciona apenas no objeto, array. O índice de um
array é um inteiro.

jshon -ec -> {"d": 4, "e": 5}

-a (transversal) mapeia as ações restantes no elemento selecionado. Só funciona em objetos
e matrizes. Múltiplo -a as chamadas podem ser aninhadas, embora a necessidade seja rara na prática.

jshon -eb -a -t -> bool bool string nula

-s valor
(string) retorna uma string codificada em json. Posteriormente, pode ser (-i) inserido em um existente
estrutura.

jshon -s "voltar \ barra" -> "voltar \\ barra"

-n valor
(não string / número) retorna um elemento json. Posteriormente, pode ser (-i) inserido em um existente
estrutura. Os valores válidos são 'true', 'false', 'null', 'array', 'object', inteiros e
flutua. Abreviações t, f, n, [] e {} respectivamente também funcionam.

objeto jshon -n -> {}

-u (unstring) retorna uma string decodificada. Funciona apenas em tipos simples: string, int, real,
booleano, nulo.

jshon -eb -e 3 -u -> str

-p (pop) retira a última manipulação da pilha, retrocedendo o histórico. Útil para
extração de vários valores de um objeto.

jshon -ec -ed -u -p -ee -u -> 4 5

-d índice
(excluir) remove um item em uma matriz ou objeto. Índices de array negativos irão quebrar
por aí.

jshon -db -> {"a": 1, "c": {"d": 4, "e": 5}}

-i índice
(inserir) é complicado. É o reverso do extrato. Extrair coloca um subelemento json
na pilha. Insert remove um subelemento da pilha e insere aquele bit de json
na matriz / objeto maior abaixo. Use a extração para mergulhar na árvore json,
delete / string / nonstring para alterar as coisas e insira para empurrar as alterações de volta para o
árvore.

jshon -ea -ia -> o json original
jshon -s one -ia -> {"a": "um", ...}

As matrizes são tratadas de maneira especial. Passar inteiros irá inserir um valor sem
sobrescrevendo. Números inteiros negativos são aceitáveis, assim como a string 'append'. Para sobrescrever
um valor em uma matriz: exclua o índice, -n / s o novo valor e, a seguir, insira no índice.

jshon -eb -d 0 -sq -i 0 -> {"b": "q", falso, nulo, "str"}

NÃO MANIPULAÇÃO


Existem várias opções meta que não editam json diretamente. Ligue para eles no máximo uma vez por
invocação.

-F
(arquivo) lê de um arquivo em vez de stdin. A única opção de não manipulação para tomar um
argumento.

-P (jsonp) remove um retorno de chamada jsonp antes de continuar normalmente.

-S (classificar) retorna json classificado por chave, em vez da ordem original.

-Q (silencioso) desativa o relatório de erros em stderr, então você não precisa borrifar "2> / dev / null"
em todo o seu script.

-V (por valor) habilita a passagem por valor na pilha de histórico de edição. Em casos extremos com
milhares de valores profundamente aninhados, isso pode resultar em jshon correndo várias vezes mais lento
enquanto usa várias vezes mais memória. No entanto, por valor é mais seguro do que por referência e
geralmente causa menos surpresa. Por referência é habilitado por padrão porque não há
risco durante operações somente leitura e geralmente torna a edição de json mais conveniente.

jshon -ec -n 7 -id -p -> c ["d"] == 7
jshon -V -ec -n 7 -id -p -> c ["d"] == 5
jshon -V -ec -n 7 -id -ic -> c ["d"] == 7

Com o -V , as alterações devem ser inseridas manualmente de volta na pilha, em vez de simplesmente
destacando os valores intermediários.

-C (continuar) em erros potencialmente recuperáveis. Por exemplo, extrair valores que não
exist irá adicionar 'null' à pilha de edição em vez de abortar. O comportamento pode mudar no
futuro.

-I edição de arquivo (no local). Requer um arquivo para modificar e só funciona com -F. Isto é
destina-se a fazer pequenas alterações em um arquivo json. Quando usado, a saída normal é suprimida
e a parte inferior da pilha de edição é escrita.

-0 (delimitadores nulos) Altera o delimitador de -u de uma nova linha para nulo. Esta opção
afeta apenas -u porque esse é o único momento em que uma nova linha pode aparecer legitimamente no
saída.

--versão
Retorna um carimbo de data / hora AAAAMMDD e sai.

OUTROS FERRAMENTAS


jshon sempre gera um campo por linha. Muitas ferramentas Unix esperam várias guias separadas
campos por linha. Canalize a saída por meio de 'colar' para corrigir isso. No entanto, colar não pode
lidar com linhas vazias, então preencha-as com um espaço reservado. Aqui está um exemplo:

jshon ... | sed 's / ^ $ / - /' | paste -s -d '\ t \ t \ n'

Isso substitui os espaços em branco por '-' e mescla cada três linhas em uma.

Existem cada vez mais ferramentas que produzem saída json. Freqüentemente, eles usam uma linha orientada
híbrido json / texto simples em que cada linha é uma estrutura json independente. Infelizmente, isso significa
a saída como um todo não é JSON legítimo. Faça um loop pelos dados linha por linha
(chamando jshon uma vez para cada linha) ou converta-o em uma matriz json legítima. Por exemplo:

enquanto lê a linha; do jshon <<< "$ line"; feito <<(journalctl -o json)

journalctl -o json | sed -e '1i [' -e '$! s / $ /, /' -e '$ a]' | jshon

GOLF


Se você se preocupa com liners extremamente curtos, os argumentos podem ser condensados ​​quando não
causar ambigüidade. O exemplo de -p (op) pode ser jogado golfe da seguinte forma:

jshon -ec -ed -u -p -ee -u == jshon -ec -ed -upee -u

Eu não recomendo fazer isso (torna as coisas muito mais difíceis de entender), mas algumas pessoas
golfe, apesar das consequências.

CRIANDO JSON


jshon pode criar json passando um objeto vazio como entrada:

jshon -s one -ia <<< "{}"

AUTORES


jshon foi escrito por Kyle Keen[email protegido]> com patches de Dave Reisner
<[email protegido]>, AndrewF (BSD, OSX, jsonp, classificação) e Jean-Marc A (solaris).

Use jshon online usando serviços onworks.net


Servidores e estações de trabalho gratuitos

Baixar aplicativos Windows e Linux

  • 1
    NSIS: Sistema de instalação por script Nullsoft
    NSIS: Sistema de instalação por script Nullsoft
    NSIS (Instalação Script Nullsoft
    System) é um código aberto profissional
    sistema para criar instaladores do Windows. Isto
    é projetado para ser tão pequeno e flexível
    como possi ...
    Baixar NSIS: Nullsoft Scriptable Install System
  • 2
    senha de acesso
    senha de acesso
    AuthPass é uma senha de código aberto
    gerente com suporte para o popular e
    comprovado Keepass (kdbx 3.x AND kdbx 4.x ...
    Baixe o passe de autenticação
  • 3
    Zabbix
    Zabbix
    O Zabbix é um software aberto de classe empresarial
    solução de monitoramento distribuído de origem
    projetado para monitorar e rastrear
    desempenho e disponibilidade da rede
    servidores, dispositivos...
    Baixar Zabbix
  • 4
    KDiff3GenericName
    KDiff3GenericName
    Este repositório não é mais mantido
    e é mantido para fins de arquivamento. Ver
    https://invent.kde.org/sdk/kdiff3 for
    o código mais recente e
    https://download.kde.o...
    Baixar o KDiff3
  • 5
    USB Loader GX
    USB Loader GX
    USBLoaderGX é uma GUI para
    Carregador USB de Waninkoko, baseado em
    libwiigui. Permite listar e
    lançar jogos de Wii, jogos de Gamecube e
    homebrew no Wii e WiiU...
    Baixar USBLoaderGX
  • 6
    Firebird
    Firebird
    Firebird RDBMS oferece recursos ANSI SQL
    & roda em Linux, Windows &
    várias plataformas Unix. Características
    excelente simultaneidade e desempenho
    & potência...
    Baixar Firebird
  • Mais "

Comandos Linux

Ad