JsonDiscovery: Changer l'expérience de visualisation de JSON dans un navigateur

Aujourd'hui, je veux parler de JsonDiscovery , une extension de navigateur pour afficher JSON. Vous direz peut-ĂȘtre: "nous avons tellement d'extensions similaires!" Oui, il est complet, mais les fonctionnalitĂ©s de JsonDiscovery le distinguent des autres et le rendent vraiment puissant.


Examinons de plus prĂšs ...





Pour les démonstrations, j'ai utilisé le fichier JSON pour la collecte de toutes les cartes du projet Hearthstone-DB (merci à Olga Kobets pour l'idée). Et voici à quoi cela ressemble si vous l'ouvrez dans un navigateur avec JsonDiscovery installé:


Hearthstone-DB project all-cards.json s'ouvre dans le navigateur avec JsonDiscovery installé


À premiĂšre vue, ce n'est qu'un autre pinceau JSON. En effet, la plupart des fonctionnalitĂ©s ne sont pas en surface, afin de ne pas vous distraire de votre JSON. RĂ©vĂ©lons-les:


  • Copie facile des fragments JSON dans le presse-papiers
  • Signature de structure JSON
  • Transformer JSON avec une requĂȘte
  • Conseils pour rĂ©diger une demande JSON
  • DĂ©finition de l'affichage des donnĂ©es Ă  partir de JSON
  • Partager des "rapports" sur le lien

Nous considérons chaque article plus en détail.


Copie facile des fragments JSON dans le presse-papiers


Il arrive que vous ayez besoin de copier un fragment de JSON, c'est-Ă -dire un objet ou un tableau imbriquĂ©. Avec JsonDiscovery, il s'agit d'une tĂąche simple, car chaque objet et tableau dĂ©ployĂ© possĂšde des boutons d'action. L'un d'eux est le bouton «ƒ», en cliquant sur lequel vous pouvez copier JSON sous une forme compacte ou formatĂ©e:


Le menu d'action sur l'objet ouvert


Signature de structure JSON


Lorsque vous étudiez des données, il est utile d'avoir une idée de leur structure. Pointez simplement le bouton "S" dans le panneau d'action sur l'objet ou le tableau développé et vous verrez la signature de la structure de sous-arborescence, quelque chose comme ceci ressemble à TypeScript:


Signature de la structure de données comme dans TypeScript, pratique pour un ensemble d'objets


Vous pouvez également pointer sur une propriété ou un type de valeur dans la signature de structure pour obtenir des détails, par exemple, sur les valeurs utilisées pour le champ:


Aperçu rapide des valeurs utilisées pour le champ


Demandes JSON


En cliquant sur le bouton «Faire un rapport», vous accĂ©dez Ă  une page oĂč vous pouvez faire des requĂȘtes Ă  votre JSON et / ou configurer son affichage:


DerriÚre le bouton «Faire un rapport» se trouve la possibilité de faire des demandes


Pour les requĂȘtes, le langage Jora est utilisĂ© . Il est en partie basĂ© sur la syntaxe de JavaScript 2015+, mais dans une plus large mesure, il est destinĂ© Ă  ĂȘtre compact et Ă  exprimer davantage (dans le cadre de la tĂąche d'interrogation des donnĂ©es).


Habituellement, vous n'avez qu'à sélectionner un sous-ensemble des données en utilisant un chemin comme foo.bar.baz . Si la clé a des caractÚres interdits, utilisez simplement [] (crochets), c'est-à-dire foo['a key with whitespaces'] . Tout est comme en JavaScript, sauf que vous n'avez pas à vous soucier de savoir s'il existe un moyen ou non:


Demande simple sous forme de chemin


Il est souvent nécessaire d'utiliser le filtrage ou le mappage. Jora fournit .[] Pour le filtrage et .() Pour le mappage:


RequĂȘte avec filtrage et mappage


L'exemple dans la capture d'Ă©cran ci-dessus ( cards.[health].({ name, health }) ) peut ĂȘtre Ă©crit en JavaScript comme ceci:


 cards.filter($ => $.health).map($ => ({ name: $.name, health: $.health })) 

Ce qui est beaucoup plus verbeux, n'est-ce pas?


Vous pouvez en savoir plus sur Jora lui-mĂȘme et sa syntaxe dans son rĂ©fĂ©rentiel github. (Au fait, il a Ă©galement une CLI et un bac Ă  sable )


Conseils pour rédiger une demande JSON


Cette fonctionnalitĂ© ne peut pas ĂȘtre dĂ©crite correctement. Vous devez l'essayer vous-mĂȘme. Au moins une fois:



ParamÚtres d'affichage des données


Lorsque vous avez sélectionné les données nécessaires dans JSON, vous pouvez configurer son affichage. Par exemple, affichez-les dans un tableau ou une liste, comme ceci:



Malheureusement, pour le moment, il n'y a pas suffisamment de documentation sur la façon de dĂ©crire le mappage (tout ce qui peut ĂȘtre trouvĂ© peut ĂȘtre trouvĂ© dans le rĂ©fĂ©rentiel discovery.js ). Mais je pense que ce sera rĂ©glĂ© dans un avenir proche.


Partager des "rapports" sur le lien





Ce sont les fonctionnalités les plus impressionnantes de JsonDiscovery, mais il y en a beaucoup plus petites, car l'extension et les projets sous-jacents sont créés avec une attention aux détails. Et je peux dire avec confiance que tout cela change l'expérience avec JSON dans le navigateur!


JsonDiscovery est disponible en tant qu'extension de Chrome et Firefox , et est développé par exdis en tant que projet open source. L'extension est basée sur le projet Discovery.js , qui est encore à un stade précoce de développement, mais est déjà utile pour des projets comme JsonDiscovery. De nouvelles améliorations et fonctionnalités sont donc attendues à l'avenir. Suivez les annonces!

Source: https://habr.com/ru/post/fr461185/


All Articles