6 ms·
Show HN: JSON Browse – Fetch, filter and manipulate your JSON inside the browser
- nacs 10y agoLooks like the HN effect is happening already -- the "Demo" link to Github shows this: { "message": "API rate limit exceeded for 52.53.190.53. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)", "documentation_url": "https://developer.github.com/v3/#rate-limiting" }
- snug 10y agoPretty cool, but there should be a warning not to enter in API credentials (through the URI) on this page, as the request is proxied to jsonbrowse.com
- bloated_brain 10y agoThat's fair. CORS is a bitch.
- jorde 10y agoYEs, CORS is the reason for this and the code for this proxy is open source and very simple[0]. I didn't want to add disclaimers to clutter the UI nor did I wanted to build a browser extension as it would suffer from same trust issues (you still need to trust the extension developer). For full transparency, the proxy is hosted on Zeit's `now` service and I don't even have access to logs so accidental leaks should be pretty safe. [0] https://github.com/jorilallo/jsonbrowse-proxy https://github.com/jorilallo/jsonbrowse-proxy
- deleted 10y ago[deleted]
- dvcc 10y agoBy the looks of it, I could just throw at it some response that is massive and it would still attempt to grab it? If this is really being just run as a proxy setup, the jsonbrowse-proxy might not need the isomorphic-fetch lib, in which case you can just use the embedded node-fetch instead, which has max response size and timeout options available.
- PretzelFisch 10y agowhy would I use this over something like postman or RESTClient?
- jorde 10y agoJSON Browse is like a glorified JSON prettifier with some `jq` style filtering features and not really a REST client even though it features remote fetching for convenience.
- travelton 10y agoUpdated my jsonlint.com bookmark to jsonbrowse.com. Thanks for the nifty tool!
- donpdonp 10y agosame. i use jsonlint all the time to pretty-print json, but this is faster/easier and a filter language too!
- dpedu 10y agoI wrote a similar tool awhile ago, though it runs on the command line. https://github.com/dpedu2/sless https://github.com/dpedu2/sless It's intended for reading structure logs - a file containing json objects separated by newlines.
- jorde 10y agoThis is really impressive. Another good JSON tool that I would recommend is jq which has been on HN a few times: https://stedolan.github.io/jq/ https://stedolan.github.io/jq/
- jordache 10y agoChrome devtools? I feel the collapsed tree visualization of parsed JSON is already sufficient. I'll just access the API I need within the authentication context of my app. Anything I would want to do with the JSON data is directly available in the devtools console. It has the added benefit of copying/pasting rough code I write in the console into my IDE to continue the work.
- amw-zero 10y agoThat gets you decently far, especially with small JSON responses. You can't filter with any tree display though, which is what I normally reach to jq for. Being able to filter an array of objects down to only one property in each object is invaluable to me. For example, in a JSON payload that has an array of 15 objects, I would like to see all IDs of those objects. The output would be something like [1230, 134, 65, 99]. I like looking at that vs scrolling and collapsing a bunch of objects.
- jordache 10y agowrite a quick lodash method call to filter your collection. given the consistent nature of data collections I almost never have a need to examine the full dataset via some front end debugging tool. trust the data to be consistent or not?
- amw-zero 10y agoDefinitely do whatever you think is easier in your workflow. Not everyone uses lodash, but I know a lot of people that prefer to do mapping / filtering of JSON in an actual programming language. That doesn't make one way better or worse than another. 2 ways of accomplishing the same thing. Not sure what the point about consistency has to do with anything? What if it's an array of consistent, but large objects? I find I need to examine a full page of JSON quite frequently. I.e. there's some bug, and I need to check for any occurrences of null for a specific property.
- mjmasn 10y agoI think the most useful feature here is JSON -> JS conversion. Relatively often I find myself copying and pasting some JSON into a JS file then manually deleting / regexing away the unnecessary quote marks around key names.
- dathanb82 10y agoOther than being idiomatic, is there any advantage to quoting or not quoting key names in JS?
- jorde 10y agoQuoted keys allows more variety in the keys (e.g. "Content-Type") but is more annoying to use if all your JS code is written in camelCase (headers["Content-Type"] vs headers.contentType).
- mjmasn 10y agoMinor reasons but a) it looks untidy (to me), and b) for example if I want to change: foo = { "bar": true, "baz": false } to: foo.bar = true; foo.baz = false; then I have extra quotes to delete. Those half seconds add up over a year! I guess you could argue the opposite though, that this looks messy: let headers = { Expires: 0, 'Content-Type': 'application/json' } Which leads me to believe it's a matter of personal preference, and you should just pick one and stick to it :) And look, there's even an eslint rule for it: http://eslint.org/docs/rules/quote-props http://eslint.org/docs/rules/quote-props
- _ZeD_ 10y agostrange, I always put quote marks, as I see them as totally necessary. Not in the browser, obviously, but in my mind. It helps me recording those are strings, not variables. I made too many mistakes in the likes of var foo = "bar"; var baz = { foo: "qux" };
- vog 10y agoThis bites especially often if you are steadily switching between JavaScript and a server-side language where that code actually does what you expect (e.g. Python).
- GordonS 10y agoI'm colour-blind, and Firefox the text in the console is completely unreadable to me. The Firefox console background is grey (I think), while the text is blue or purple (I think) and I can't make it out against the background.
- giancarlostoro 10y agoJust wondering but are you aware that you can change the color scheme of the development tools? Changing the scheme also updates the colors of the console. There's at least 3 themes available as options, not sure if this helps, hoping it does.
- ssreeniv 10y agoNice tool Suggestion : Filtering seems to work only on object keys at the outermost level (e.g full_name in demo). It would be nice to be able to filter inner keys as well (e.g html_url in demo)