AnglaisFrançaisEspagnol

Ad


Icône de favori OnWorks

jshon - En ligne dans le Cloud

Exécutez jshon dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande jshon qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


jshon — Analyseur JSON pour le shell

SYNOPSIS


jshon -[P|S|Q|V|C|I|0] [-F chemin] -[t|l|k|u|p|a] -[s|n] valeur -[e|i|d] indice

DESCRIPTION


jshon analyse, lit et crée JSON. Il est conçu pour être aussi utilisable que possible de
dans la coque et remplace les fragiles analyseurs adhoc fabriqués à partir de grep/sed/awk ainsi que
analyseurs syntaxiques lourds à une ligne fabriqués à partir de perl/python.

jshon charge le texte json à partir de stdin, effectue des actions, puis affiche la dernière action sur stdout.
Certaines des options génèrent du json, d'autres génèrent des résumés en texte brut. Parce que Bash a très
structures de données imbriquées médiocres, jshon ne renvoie pas le JSON en tant qu'objet natif comme un
la bibliothèque le ferait. Au lieu jshon conserve un historique des modifications dans une pile, et vous manipulez le
élément JSON le plus élevé.

ACTIONS


Chaque action prend la forme d'une option courte. Certains nécessitent des arguments. Alors que de nombreux cas
of jshon peuvent être transmis les uns aux autres, les actions doivent être enchaînées séquentiellement pour réduire
appels. Tous les exemples utilisent cet exemple json :

{"a":1,"b":[true,false,null,"str"],"c":{"d":4,"e":5}}
jshon [actions] < sample.json

Les utilisations en lecture seule les plus courantes n'auront besoin que de plusieurs -e actions et un -a au milieu de
Eux.

-t (type) renvoie chaîne, objet, tableau, nombre, bool, null

jshon -t -> objet

-l (longueur) renvoie un entier. Fonctionne uniquement sur chaîne, objet, tableau.

jshon -l -> 3

-k (keys) renvoie une liste de clés séparées par une nouvelle ligne. Ne fonctionne que sur l'objet.

jshon -k -> abc

-e indice
(extrait) renvoie la valeur json à "index". Ne fonctionne que sur l'objet, le tableau. L'indice d'un
tableau est un entier.

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

-a (à travers) mappe les actions restantes sur l'élément sélectionné. Ne fonctionne que sur les objets
et des tableaux. Plusieurs -a les appels peuvent être imbriqués, bien que le besoin soit rare dans la pratique.

jshon -eb -a -t -> bool bool chaîne nulle

-s Plus-value
(chaîne) renvoie une chaîne encodée en json. Peut plus tard être (-i) inséré dans un
structure.

jshon -s "back\slash" -> "back\\slash"

-n Plus-value
(nonstring/number) renvoie un élément json. Peut plus tard être (-i) inséré dans un
structure. Les valeurs valides sont 'true', 'false', 'null', 'array', 'object', integers et
flotte. Les abréviations t, f, n, [] et {} fonctionnent également.

jshon -n objet -> {}

-u (unstring) renvoie une chaîne décodée. Ne fonctionne que sur les types simples : string, int, real,
booléen, nul.

jshon -eb -e 3 -u -> str

-p (pop) sort la dernière manipulation de la pile, rembobinant l'historique. Utile pour
extraire plusieurs valeurs d'un objet.

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

-d indice
(supprimer) supprime un élément dans un tableau ou un objet. Les index de tableau négatifs s'enrouleront
autour.

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

-i indice
(insérer) est compliqué. C'est l'inverse de l'extrait. Extract met un sous-élément json
sur la pile. Insert supprime un sous-élément de la pile et insère ce bit de json
dans le plus grand tableau/objet en dessous. Utilisez l'extrait pour plonger dans l'arbre json,
delete/string/nonstring pour changer les choses, et insert pour repousser les modifications dans le
arbre.

jshon -ea -ia -> le json d'origine
jshon -s un -ia -> {"a":"un", ...}

Les tableaux sont traités d'une manière spéciale. Le passage d'entiers insérera une valeur sans
écrasement. Les entiers négatifs sont acceptables, tout comme la chaîne « append ». Pour écraser
une valeur dans un tableau : supprimer l'index, -n/s la nouvelle valeur, puis insérez à l'index.

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

NON-MANIPULATION


Il existe plusieurs méta-options qui n'éditent pas directement json. Appelez-les au plus une fois par
invocation.

-F
(fichier) lit à partir d'un fichier au lieu de stdin. La seule option sans manipulation pour prendre une
argument.

-P (jsonp) supprime un rappel jsonp avant de continuer normalement.

-S (sort) renvoie json trié par clé, au lieu de l'ordre d'origine.

-Q (silencieux) désactive le rapport d'erreurs sur stderr, vous n'avez donc pas à saupoudrer "2> /dev/null"
tout au long de votre script.

-V (par valeur) active le passage par valeur sur la pile de l'historique des modifications. Dans les cas extrêmes avec
des milliers de valeurs profondément imbriquées, cela peut entraîner jshon courir plusieurs fois plus lentement
tout en utilisant plusieurs fois plus de mémoire. Cependant, la valeur par valeur est plus sûre que la référence et
provoque généralement moins de surprise. Par référence est activé par défaut car il n'y a pas
risque pendant les opérations en lecture seule et rend généralement l'édition de json plus pratique.

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

Avec -V , les modifications doivent être réinsérées manuellement dans la pile au lieu de simplement
sauter les valeurs intermédiaires.

-C (continuer) sur les erreurs potentiellement récupérables. Par exemple, extraire des valeurs qui ne
exist ajoutera 'null' à la pile d'édition au lieu d'abandonner. Le comportement peut changer dans le
avenir.

-I édition de fichiers (sur place). Nécessite un fichier à modifier et ne fonctionne donc qu'avec -F. C'est
destiné à apporter de légères modifications à un fichier json. Lorsqu'il est utilisé, la sortie normale est supprimée
et le bas de la pile d'édition est écrit.

-0 (délimiteurs nuls) Change le délimiteur de -u d'un saut de ligne à un nul. Cette option
affecte uniquement -u car c'est la seule fois où une nouvelle ligne peut légitimement apparaître dans le
sortie.

--version
Renvoie un horodatage AAAAMMJJ et se termine.

AUTRES OUTILS


jshon génère toujours un champ par ligne. De nombreux outils unix attendent plusieurs onglets séparés
champs par ligne. Dirigez la sortie via « coller » pour résoudre ce problème. Cependant, la pâte ne peut pas
gérer les lignes vides afin de remplir celles avec un espace réservé. Voici un exemple:

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

Cela remplace les blancs par '-' et fusionne toutes les trois lignes en une seule.

Il existe de plus en plus d'outils qui produisent une sortie json. Souvent, ceux-ci utilisent une ligne orientée
hybride json/texte clair où chaque ligne est une structure json indépendante. Malheureusement, cela signifie
la sortie dans son ensemble n'est pas un json légitime. Soit en boucle les données ligne par ligne
(appel jshon une fois pour chaque ligne) ou convertissez-le en un tableau json légitime. Par exemple:

pendant la lecture de la ligne ; faire jshon <<< "$line" ; fait < <(journalctl -o json)

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

LE GOLF


Si vous vous souciez des lignes extrêmement courtes, les arguments peuvent être condensés quand ce n'est pas le cas.
provoquer l'ambiguïté. L'exemple de -pop) peut être joué au golf comme suit :

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

Je ne recommande pas de faire cela (cela rend les choses beaucoup plus difficiles à comprendre) mais certaines personnes
golf malgré les conséquences.

CRÉATEUR JSON


jshon peut créer json en passant un objet vide en entrée :

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

AUTEURS


jshon a été écrit par Kyle Keen[email protected]> avec des patchs de Dave Reisner
<[email protected]>, AndrewF (BSD, OSX, jsonp, tri) et Jean-Marc A (solaris).

Utiliser jshon en ligne en utilisant les services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

  • 1
    DivFix ++
    DivFix ++
    DivFix++ est votre réparation vidéo AVI et
    logiciel de prévisualisation. Il a conçu pour la réparation
    et prévisualisez les fichiers qui sont en téléchargement
    depuis ed2k(emule), torrent, gnutella, ftp...
    Télécharger DivFix++
  • 2
    Communauté JBoss
    Communauté JBoss
    Des projets communautaires mettant en vedette le
    dernières innovations à la pointe de la technologie
    applications. Notre projet phare JBoss AS est
    le leader Open Source,
    conforme aux normes...
    Télécharger la communauté JBoss
  • 3
    Fichier Django
    Fichier Django
    django Filer est un gestionnaire de fichiers
    application pour django qui fait
    la gestion des fichiers et des images est un jeu d'enfant.
    django-filer est un gestionnaire de fichiers
    demande de djang...
    Télécharger Django Filer
  • 4
    xCAT
    xCAT
    Boîte à outils d'administration de cluster extrême.
    xCAT est une gestion de cluster évolutive
    et outil de provisionnement qui fournit
    contrôle matériel, découverte et système d'exploitation
    disque/di...
    Télécharger xCAT
  • 5
    Psi
    Psi
    Psi est un puissant XMPP multiplateforme
    client conçu pour les utilisateurs expérimentés.
    Il existe des versions disponibles pour MS
    Windows, GNU/Linux et macOS.. Public :
    Les utilisateurs finaux...
    Télécharger Psi
  • 6
    Blobby Volée 2
    Blobby Volée 2
    Suite officielle du célèbre
    Jeu d'arcade Blobby Volley 1.x.
    Public : utilisateurs finaux/ordinateurs de bureau. Utilisateur
    interface : OpenGL, SDL. Programmation
    Langage : C++, Lua. C...
    Télécharger Blobby Volley 2
  • Plus "

Commandes Linux

Ad