JSPM

json-hood

1.1.4
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 36
  • Score
    100M100P100Q60099F
  • License MIT

A beautiful way to clearly show JSON Objects and Array in a human readable format

Package Exports

  • json-hood

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (json-hood) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

JSON Hood

License

The License information is avaliable in license.txt

##Summary

This module takes a JSON Object or Array as a parameter and renders them with arrows to nicely link each attribute.

var arrowDiagram = require('json-hood');

arrowDiagram.printJSONasArrowDiagram({"glossary": {"title": "example glossary","GlossDiv": {"title": "S","GlossList": {"GlossEntry": {"ID": "SGML","SortAs": "SGML","GlossTerm": "Standard Generalized Markup Language","Acronym": "SGML","Abbrev": "ISO 8879:1986","GlossDef": {"para": "A meta-markup language, used to create markup languages such as DocBook.","GlossSeeAlso": ["GML", "XML"]},"GlossSee": "markup"}}      }    }})

or

var arrowDiagram = require('json-hood');

var diagram = arrowDiagram.getJSONasArrowDiagram({"glossary": {"title": "example glossary","GlossDiv": {"title": "S","GlossList": {"GlossEntry": {"ID": "SGML","SortAs": "SGML","GlossTerm": "Standard Generalized Markup Language","Acronym": "SGML","Abbrev": "ISO 8879:1986","GlossDef": {"para": "A meta-markup language, used to create markup languages such as DocBook.","GlossSeeAlso": ["GML", "XML"]},"GlossSee": "markup"}}      }    }})
console.log(diagram)

Return

glossary
  ├────>title :  example glossary
  └────>GlossDiv
    ├────>title :  S
    └────>GlossList
      └────>GlossEntry
        ├────>ID :  SGML
        ├────>SortAs :  SGML
        ├────>GlossTerm :  Standard Generalized Markup Language
        ├────>Acronym :  SGML
        ├────>Abbrev :  ISO 8879:1986
        ├────>GlossDef
        │ ├────>para :  A meta-markup language, used to create markup languages such as DocBook.
        │ └────>GlossSeeAlso
        │   ├────> [0]
        │   │ └────>GML
        │   └────> [1]
        │     └────>XML
        └────>GlossSee :  markup

Sample Json taken from http://json.org/example.html

Arrays

Arrays are printed out with the numerical index in [].

e.g.

var arrowDiagram = require('json-hood');
arrowDiagram.printJSONasArrowDiagram({"Table":[
    {"Name":"Plate", "Colour":"White"},
    {"Name":"Fork", "Colour":"Pink"},
    {"Name":"Knife", "Colour":"Orange"},
    {"Name":"Spoon", "Colour":"Red"}
]});

returns

Table
  ├────> [0]
  │ ├────>Name :  Plate
  │ └────>Colour :  White
  ├────> [1]
  │ ├────>Name :  Fork
  │ └────>Colour :  Pink
  ├────> [2]
  │ ├────>Name :  Knife
  │ └────>Colour :  Orange
  └────> [3]
    ├────>Name :  Spoon
    └────>Colour :  Red

More Examples

More complex JSON Object

var arrowDiagram = require('json-hood');
arrowDiagram.printJSONasArrowDiagram({"web-app": { "servlet": [{ "servlet-name": "cofaxCDS", "servlet-class": "org.cofax.cds.CDSServlet", "init-param": { "configGlossary:installationAt": "Philadelphia, PA", "configGlossary:adminEmail": "ksm@pobox.com", "configGlossary:poweredBy": "Cofax", "configGlossary:poweredByIcon": "/images/cofax.gif", "configGlossary:staticPath": "/content/static", "templateProcessorClass": "org.cofax.WysiwygTemplate", "templateLoaderClass": "org.cofax.FilesTemplateLoader", "templatePath": "templates", "templateOverridePath": "", "defaultListTemplate": "listTemplate.htm", "defaultFileTemplate": "articleTemplate.htm", "useJSP": false, "jspListTemplate": "listTemplate.jsp", "jspFileTemplate": "articleTemplate.jsp", "cachePackageTagsTrack": 200, "cachePackageTagsStore": 200, "cachePackageTagsRefresh": 60, "cacheTemplatesTrack": 100, "cacheTemplatesStore": 50, "cacheTemplatesRefresh": 15, "cachePagesTrack": 200, "cachePagesStore": 100, "cachePagesRefresh": 10, "cachePagesDirtyRead": 10, "searchEngineListTemplate": "forSearchEnginesList.htm", "searchEngineFileTemplate": "forSearchEngines.htm", "searchEngineRobotsDb": "WEB-INF/robots.db", "useDataStore": true, "dataStoreClass": "org.cofax.SqlDataStore", "redirectionClass": "org.cofax.SqlRedirection", "dataStoreName": "cofax", "dataStoreDriver": "com.microsoft.jdbc.sqlserver.SQLServerDriver", "dataStoreUrl": "jdbc:microsoft:sqlserver://LOCALHOST:1433;DatabaseName=goon", "dataStoreUser": "sa", "dataStorePassword": "dataStoreTestQuery", "dataStoreTestQuery": "SET NOCOUNT ON;select test='test';", "dataStoreLogFile": "/usr/local/tomcat/logs/datastore.log", "dataStoreInitConns": 10, "dataStoreMaxConns": 100, "dataStoreConnUsageLimit": 100, "dataStoreLogLevel": "debug", "maxUrlLength": 500}}, { "servlet-name": "cofaxEmail", "servlet-class": "org.cofax.cds.EmailServlet", "init-param": { "mailHost": "mail1", "mailHostOverride": "mail2"}}, { "servlet-name": "cofaxAdmin", "servlet-class": "org.cofax.cds.AdminServlet"}, { "servlet-name": "fileServlet", "servlet-class": "org.cofax.cds.FileServlet"}, { "servlet-name": "cofaxTools", "servlet-class": "org.cofax.cms.CofaxToolsServlet", "init-param": { "templatePath": "toolstemplates/", "log": 1, "logLocation": "/usr/local/tomcat/logs/CofaxTools.log", "logMaxSize": "", "dataLog": 1, "dataLogLocation": "/usr/local/tomcat/logs/dataLog.log", "dataLogMaxSize": "", "removePageCache": "/content/admin/remove?cache=pages&id=", "removeTemplateCache": "/content/admin/remove?cache=templates&id=", "fileTransferFolder": "/usr/local/tomcat/webapps/content/fileTransferFolder", "lookInContext": 1, "adminGroupID": 4, "betaServer": true}}], "servlet-mapping": { "cofaxCDS": "/", "cofaxEmail": "/cofaxutil/aemail/*", "cofaxAdmin": "/admin/*", "fileServlet": "/static/*", "cofaxTools": "/tools/*"}, "taglib": { "taglib-uri": "cofax.tld", "taglib-location": "/WEB-INF/tlds/cofax.tld"}}})

returns

web-app
     ├────>servlet
     │	├────> [0]
     │	│	├────>servlet-name :  cofaxCDS
     │	│	├────>servlet-class :  org.cofax.cds.CDSServlet
     │	│	└────>init-param
     │	│	 	├────>configGlossary:installationAt :  Philadelphia, PA
     │	│	 	├────>configGlossary:adminEmail :  ksm@pobox.com
     │	│	 	├────>configGlossary:poweredBy :  Cofax
     │	│	 	├────>configGlossary:poweredByIcon :  /images/cofax.gif
     │	│	 	├────>configGlossary:staticPath :  /content/static
     │	│	 	├────>templateProcessorClass :  org.cofax.WysiwygTemplate
     │	│	 	├────>templateLoaderClass :  org.cofax.FilesTemplateLoader
     │	│	 	├────>templatePath :  templates
     │	│	 	├────>templateOverridePath :  
     │	│	 	├────>defaultListTemplate :  listTemplate.htm
     │	│	 	├────>defaultFileTemplate :  articleTemplate.htm
     │	│	 	├────>useJSP :  false
     │	│	 	├────>jspListTemplate :  listTemplate.jsp
     │	│	 	├────>jspFileTemplate :  articleTemplate.jsp
     │	│	 	├────>cachePackageTagsTrack :  200
     │	│	 	├────>cachePackageTagsStore :  200
     │	│	 	├────>cachePackageTagsRefresh :  60
     │	│	 	├────>cacheTemplatesTrack :  100
     │	│	 	├────>cacheTemplatesStore :  50
     │	│	 	├────>cacheTemplatesRefresh :  15
     │	│	 	├────>cachePagesTrack :  200
     │	│	 	├────>cachePagesStore :  100
     │	│	 	├────>cachePagesRefresh :  10
     │	│	 	├────>cachePagesDirtyRead :  10
     │	│	 	├────>searchEngineListTemplate :  forSearchEnginesList.htm
     │	│	 	├────>searchEngineFileTemplate :  forSearchEngines.htm
     │	│	 	├────>searchEngineRobotsDb :  WEB-INF/robots.db
     │	│	 	├────>useDataStore :  true
     │	│	 	├────>dataStoreClass :  org.cofax.SqlDataStore
     │	│	 	├────>redirectionClass :  org.cofax.SqlRedirection
     │	│	 	├────>dataStoreName :  cofax
     │	│	 	├────>dataStoreDriver :  com.microsoft.jdbc.sqlserver.SQLServerDriver
     │	│	 	├────>dataStoreUrl :  jdbc:microsoft:sqlserver://LOCALHOST:1433;DatabaseName=goon
     │	│	 	├────>dataStoreUser :  sa
     │	│	 	├────>dataStorePassword :  dataStoreTestQuery
     │	│	 	├────>dataStoreTestQuery :  SET NOCOUNT ON;select test='test';
     │	│	 	├────>dataStoreLogFile :  /usr/local/tomcat/logs/datastore.log
     │	│	 	├────>dataStoreInitConns :  10
     │	│	 	├────>dataStoreMaxConns :  100
     │	│	 	├────>dataStoreConnUsageLimit :  100
     │	│	 	├────>dataStoreLogLevel :  debug
     │	│	 	└────>maxUrlLength :  500
     │	├────> [1]
     │	│	├────>servlet-name :  cofaxEmail
     │	│	├────>servlet-class :  org.cofax.cds.EmailServlet
     │	│	└────>init-param
     │	│	 	├────>mailHost :  mail1
     │	│	 	└────>mailHostOverride :  mail2
     │	├────> [2]
     │	│	├────>servlet-name :  cofaxAdmin
     │	│	└────>servlet-class :  org.cofax.cds.AdminServlet
     │	├────> [3]
     │	│	├────>servlet-name :  fileServlet
     │	│	└────>servlet-class :  org.cofax.cds.FileServlet
     │	└────> [4]
     │	 	├────>servlet-name :  cofaxTools
     │	 	├────>servlet-class :  org.cofax.cms.CofaxToolsServlet
     │	 	└────>init-param
     │	 	 	├────>templatePath :  toolstemplates/
     │	 	 	├────>log :  1
     │	 	 	├────>logLocation :  /usr/local/tomcat/logs/CofaxTools.log
     │	 	 	├────>logMaxSize :  
     │	 	 	├────>dataLog :  1
     │	 	 	├────>dataLogLocation :  /usr/local/tomcat/logs/dataLog.log
     │	 	 	├────>dataLogMaxSize :  
     │	 	 	├────>removePageCache :  /content/admin/remove?cache=pages&id=
     │	 	 	├────>removeTemplateCache :  /content/admin/remove?cache=templates&id=
     │	 	 	├────>fileTransferFolder :  /usr/local/tomcat/webapps/content/fileTransferFolder
     │	 	 	├────>lookInContext :  1
     │	 	 	├────>adminGroupID :  4
     │	 	 	└────>betaServer :  true
     ├────>servlet-mapping
     │	├────>cofaxCDS :  /
     │	├────>cofaxEmail :  /cofaxutil/aemail/*
     │	├────>cofaxAdmin :  /admin/*
     │	├────>fileServlet :  /static/*
     │	└────>cofaxTools :  /tools/*
     └────>taglib
      	├────>taglib-uri :  cofax.tld
      	└────>taglib-location :  /WEB-INF/tlds/cofax.tld

Sample Json taken from http://json.org/example.html