Simple GUI library to view JSON?

Please advise on a simple GUI library to display JSON data. A library that is easy to build both on Win, Linux and OsX. I need a scrollable view to show a list of JSON objects. Every object may contain other objects (recursively). List may have thousands of objects. Fields may have very long text values, so the view must also be scrollable in horizontal dimension. JSON object view should be click-able and look like on this example: { hey: "guy", anumber: 243, - anobject: { whoa: "nuts", - anarray: [ 1, 2, "thr<h1>ee" ], more: "stuff" }, awesome: true, bogus: false, meaning: null, link: "http://jsonview.com", } Where '-' before the field object indicates that object was expanded and '+' means collapsed object. Clicking on expanded fields should collapse them and vice verse. So for this example, clicking on 'anobject' should result in: { hey: "guy", anumber: 243, anobject: { ... } awesome: true, bogus: false, meaning: null, link: "http://jsonview.com", } In short I need a view similar to the one provided by JSONView plugin for Firefox: https://addons.mozilla.org/en-US/firefox/addon/jsonview/ Thanks a lot for any info, comments and ideas about this project!

You could set up a simple web server (with, for example, Yesod [1]) serving
up your JSON data, and then just connect to it with Firefox and use
JSONView.
[1] http://www.yesodweb.com/
On Mon, Feb 20, 2012 at 2:01 PM, dokondr
Please advise on a simple GUI library to display JSON data. A library that is easy to build both on Win, Linux and OsX. I need a scrollable view to show a list of JSON objects. Every object may contain other objects (recursively). List may have thousands of objects. Fields may have very long text values, so the view must also be scrollable in horizontal dimension. JSON object view should be click-able and look like on this example: { hey: "guy", anumber: 243, - anobject: { whoa: "nuts", - anarray: [ 1, 2, "thr<h1>ee" ], more: "stuff" }, awesome: true, bogus: false, meaning: null, link: "http://jsonview.com", }
Where '-' before the field object indicates that object was expanded and '+' means collapsed object. Clicking on expanded fields should collapse them and vice verse. So for this example, clicking on 'anobject' should result in: { hey: "guy", anumber: 243, anobject: { ... } awesome: true, bogus: false, meaning: null, link: "http://jsonview.com", }
In short I need a view similar to the one provided by JSONView plugin for Firefox: https://addons.mozilla.org/en-US/firefox/addon/jsonview/
Thanks a lot for any info, comments and ideas about this project!
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

An extra step beyond that could be launching the application with
wai-handler-launch[1], so that the user's default browser is
automatically opened.
[1] http://hackage.haskell.org/package/wai-handler-launch
On Mon, Feb 20, 2012 at 9:24 PM, Clark Gaebel
You could set up a simple web server (with, for example, Yesod [1]) serving up your JSON data, and then just connect to it with Firefox and use JSONView.
On Mon, Feb 20, 2012 at 2:01 PM, dokondr
wrote: Please advise on a simple GUI library to display JSON data. A library that is easy to build both on Win, Linux and OsX. I need a scrollable view to show a list of JSON objects. Every object may contain other objects (recursively). List may have thousands of objects. Fields may have very long text values, so the view must also be scrollable in horizontal dimension. JSON object view should be click-able and look like on this example: { hey: "guy", anumber: 243, - anobject: { whoa: "nuts", - anarray: [ 1, 2, "thr<h1>ee" ], more: "stuff" }, awesome: true, bogus: false, meaning: null, link: "http://jsonview.com", }
Where '-' before the field object indicates that object was expanded and '+' means collapsed object. Clicking on expanded fields should collapse them and vice verse. So for this example, clicking on 'anobject' should result in: { hey: "guy", anumber: 243, anobject: { ... } awesome: true, bogus: false, meaning: null, link: "http://jsonview.com", }
In short I need a view similar to the one provided by JSONView plugin for Firefox: https://addons.mozilla.org/en-US/firefox/addon/jsonview/
Thanks a lot for any info, comments and ideas about this project!
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Thanks, it is a good idea to use JSONView. Yet I also want to reuse this
code to view lists of objects in MongoDB collection. MongoDB objects are in
fact JSON, so the same code should work. I am not sure though that saving
MongoDB objects in intermediate JSON and then displaying them in JSONView
would be the best way to go.
On Mon, Feb 20, 2012 at 10:24 PM, Clark Gaebel
You could set up a simple web server (with, for example, Yesod [1]) serving up your JSON data, and then just connect to it with Firefox and use JSONView.
On Mon, Feb 20, 2012 at 2:01 PM, dokondr
wrote: Please advise on a simple GUI library to display JSON data. A library that is easy to build both on Win, Linux and OsX. I need a scrollable view to show a list of JSON objects. Every object may contain other objects (recursively). List may have thousands of objects. Fields may have very long text values, so the view must also be scrollable in horizontal dimension. JSON object view should be click-able and look like on this example: { hey: "guy", anumber: 243, - anobject: { whoa: "nuts", - anarray: [ 1, 2, "thr<h1>ee" ], more: "stuff" }, awesome: true, bogus: false, meaning: null, link: "http://jsonview.com", }
Where '-' before the field object indicates that object was expanded and '+' means collapsed object. Clicking on expanded fields should collapse them and vice verse. So for this example, clicking on 'anobject' should result in: { hey: "guy", anumber: 243, anobject: { ... } awesome: true, bogus: false, meaning: null, link: "http://jsonview.com", }
In short I need a view similar to the one provided by JSONView plugin for Firefox: https://addons.mozilla.org/en-US/firefox/addon/jsonview/
Thanks a lot for any info, comments and ideas about this project!
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Not that I've tried it, but I doubt you need to save objects to disk to
serve them with Yesod. Just serialize them to JSON in memory and serve that.
On Mon, Feb 20, 2012 at 2:55 PM, dokondr
Thanks, it is a good idea to use JSONView. Yet I also want to reuse this code to view lists of objects in MongoDB collection. MongoDB objects are in fact JSON, so the same code should work. I am not sure though that saving MongoDB objects in intermediate JSON and then displaying them in JSONView would be the best way to go.
On Mon, Feb 20, 2012 at 10:24 PM, Clark Gaebel < cgaebel@csclub.uwaterloo.ca> wrote:
You could set up a simple web server (with, for example, Yesod [1]) serving up your JSON data, and then just connect to it with Firefox and use JSONView.
On Mon, Feb 20, 2012 at 2:01 PM, dokondr
wrote: Please advise on a simple GUI library to display JSON data. A library that is easy to build both on Win, Linux and OsX. I need a scrollable view to show a list of JSON objects. Every object may contain other objects (recursively). List may have thousands of objects. Fields may have very long text values, so the view must also be scrollable in horizontal dimension. JSON object view should be click-able and look like on this example: { hey: "guy", anumber: 243, - anobject: { whoa: "nuts", - anarray: [ 1, 2, "thr<h1>ee" ], more: "stuff" }, awesome: true, bogus: false, meaning: null, link: "http://jsonview.com", }
Where '-' before the field object indicates that object was expanded and '+' means collapsed object. Clicking on expanded fields should collapse them and vice verse. So for this example, clicking on 'anobject' should result in: { hey: "guy", anumber: 243, anobject: { ... } awesome: true, bogus: false, meaning: null, link: "http://jsonview.com", }
In short I need a view similar to the one provided by JSONView plugin for Firefox: https://addons.mozilla.org/en-US/firefox/addon/jsonview/
Thanks a lot for any info, comments and ideas about this project!
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
participants (3)
-
Clark Gaebel
-
dokondr
-
Michael Snoyman