I’ve been working on JSONtr.ee, a web platform for visualizing and graphing JSON data. While building it, I ended up creating my own lightweight JavaScript library to help anyone convert a JSON file into a schema graph.
Before creating this library, I used MermaidJS, but I ran into significant limitations, especially with large and deeply nested JSON objects. My library was built to handle these cases better and to offer more flexibility for customization. After solving my own problem, I decided to make it available for free to anyone who might find it useful.
Key features:
Transforms JSON into schema graphs.
Handles large and complex JSON objects seamlessly.
Built with simplicity in mind – dependency-free and easy to integrate.
Why I made this:
While working with APIs and large webhook payloads, I struggled to understand nested structures using standard tools. This library makes it easier to visualize the data as a graph and explore it interactively.
I’d love to hear your feedback, suggestions, or any ideas for improvement.
The example on the site is a very simple JSON object that doesn't demonstrate JSONtr.ee's potential at all.
To showcase it better, I'd like to see more complex objects on the initial reveal, so I don't have to go and find & format a JSON object just to see if the app/library is worth using yet!
I like it, one piece of feedback I have is - the export to PNG button, I wasn't expecting it to be a screenshot of the JSON, I thought it would be the graph; at least to me that would make more sense... paste JSON, see graph, export image of graph. What do you think.
Very cool project and would be super useful with something like GraphQL, which tends to produce big nested JSON objects. Thanks for sharing it!
One improvement in my eyes would be to remove the "connector" boxes, like `members (2): "Array"` and `powers (3): "Array"` and have the arrow go straight to the array property. Those connector boxes take up a lot of real estate without conveying new information.
Single file, 187 lines of JavaScript, no dependencies, does one thing and does it well.
I wish there was a way to search for libraries like this one. Almost every time I look for some piece of open source software, I end up writing it myself because all the solutions I find are overcomplicated and try to do too many things.
> Single file, 187 lines of JavaScript, no dependencies, does one thing and does it well.
Even though I understood your point, a cursory glance suggests it only maps a JavaScript object to a SVG. Hardly something with more than one responsibility, or something you need anything other than plain JavaScript to do.
Am I missing something or does this just completely not do anything on iOS/mobile? I see in the json editor a single object with two keys, and then no visual tree rendering whatsoever
Sorry this was intensionally, I couldn't find a way to show the graph in mobile so I just hide the div. I will add a tab or a button to switch between the json and the graph.
Really clean design. I generated a bunch of complex deeply strucutred dummy JSON data and the resulting visual wasn't bad!
I like the name too! A small suggestion is don't force yourself to call it Jsontr.ee because of the cool domain. Getting to the line "Render the Tree Diagram: Use the jsontr.ee function to visualize the JSON data." -- Just use jsontree :-)
Cool stuff!
Found a bug: Changing e.g. "Jane Wilson" to something longer like "Jane Sarah Hildegard Wilson" in your example renders the arrows to the powers incorrectly.
Seems like jsoncrack is a product with a paid plan, this one jsontr.ee is standalone (so far). I also found the performance of the graph wasn't very smooth on jsoncrack.
[+] [-] lou_alcala|1 year ago|reply
I’ve been working on JSONtr.ee, a web platform for visualizing and graphing JSON data. While building it, I ended up creating my own lightweight JavaScript library to help anyone convert a JSON file into a schema graph.
Before creating this library, I used MermaidJS, but I ran into significant limitations, especially with large and deeply nested JSON objects. My library was built to handle these cases better and to offer more flexibility for customization. After solving my own problem, I decided to make it available for free to anyone who might find it useful.
Key features: Transforms JSON into schema graphs. Handles large and complex JSON objects seamlessly. Built with simplicity in mind – dependency-free and easy to integrate.
Why I made this: While working with APIs and large webhook payloads, I struggled to understand nested structures using standard tools. This library makes it easier to visualize the data as a graph and explore it interactively.
I’d love to hear your feedback, suggestions, or any ideas for improvement.
Thanks for taking a look!
[+] [-] mattvr|1 year ago|reply
To showcase it better, I'd like to see more complex objects on the initial reveal, so I don't have to go and find & format a JSON object just to see if the app/library is worth using yet!
[+] [-] politelemon|1 year ago|reply
[+] [-] tasn|1 year ago|reply
[+] [-] santa_boy|1 year ago|reply
[+] [-] codetiger|1 year ago|reply
[+] [-] newusertoday|1 year ago|reply
[+] [-] tie_|1 year ago|reply
One improvement in my eyes would be to remove the "connector" boxes, like `members (2): "Array"` and `powers (3): "Array"` and have the arrow go straight to the array property. Those connector boxes take up a lot of real estate without conveying new information.
[+] [-] demaga|1 year ago|reply
[+] [-] mg|1 year ago|reply
Single file, 187 lines of JavaScript, no dependencies, does one thing and does it well.
I wish there was a way to search for libraries like this one. Almost every time I look for some piece of open source software, I end up writing it myself because all the solutions I find are overcomplicated and try to do too many things.
[+] [-] h1fra|1 year ago|reply
[+] [-] chipdart|1 year ago|reply
Even though I understood your point, a cursory glance suggests it only maps a JavaScript object to a SVG. Hardly something with more than one responsibility, or something you need anything other than plain JavaScript to do.
[+] [-] deskr|1 year ago|reply
[+] [-] dchuk|1 year ago|reply
[+] [-] lou_alcala|1 year ago|reply
[+] [-] rendaw|1 year ago|reply
[+] [-] just-tom|1 year ago|reply
[+] [-] WA|1 year ago|reply
[+] [-] dankwizard|1 year ago|reply
I like the name too! A small suggestion is don't force yourself to call it Jsontr.ee because of the cool domain. Getting to the line "Render the Tree Diagram: Use the jsontr.ee function to visualize the JSON data." -- Just use jsontree :-)
[+] [-] codetiger|1 year ago|reply
[+] [-] pcthrowaway|1 year ago|reply
Other than that, looks beautiful
[+] [-] scho3000|1 year ago|reply
[+] [-] lou_alcala|1 year ago|reply
[+] [-] thisgoodlife|1 year ago|reply
[+] [-] lou_alcala|1 year ago|reply
[+] [-] n0id34|1 year ago|reply
[+] [-] lou_alcala|1 year ago|reply
[+] [-] nirav72|1 year ago|reply
One suggestion - Make the JSON editor panel collapsible or resizable.
[+] [-] subhashp|1 year ago|reply
[+] [-] dcreater|1 year ago|reply
[+] [-] politelemon|1 year ago|reply
[+] [-] byyoung3|1 year ago|reply
[+] [-] kanishkdan98|1 year ago|reply
[+] [-] unknown|1 year ago|reply
[deleted]