HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
buger
jsonparser
Go2016–2026
buger / jsonparser

jsonparser

THE fastest alternative JSON parser for Go that does not require schema

5Distinct people
10Mentions
0Explicit recommenders
5.7KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

THE fastest alternative JSON parser for Go that does not require schema

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 11:56:56 AM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year10 dated mentions

Observed mentions: 2016-03-21 14:05:31 UTC to 2026-07-31 03:47:59 UTC.

0122016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC211
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC101
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC101
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC101
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC211
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC202
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC000
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC000
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC000
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC110

What Hacker News says

10 sources
jq performance is pretty terrible. Here I'm going to do something super simple like pull out a single field out of a large log file: $ wc -l big.log 979400 big.log $ du -hs big.log 570M big.log `count` is a small program that counts lines on stdin. like `sort|uniq -c |sort -n` jq takes 12 seconds: $ time cat big.log |jq -cr .method |~/bin/count 848000 GET 94800 POST 34000 HEAD 2400 OPTIONS 200 null real 0m12.381s user 0m12.427s sys 0m0.333s my tool takes .5 seconds $ time cat big.log |~/bin/jj method |~/bin/count 848000 GET 94800 POST 34000 HEAD 2400 OPTIONS 200 real 0m0.466s user 0m0.512s sys 0m0.198s `jj` is a little tool I wrote that uses https://github.com/buger/jsonparser
In Zq: An easier and faster alternative to jq
jq is just slow.. using github.com/buger/jsonparser to slice out some fields from a large json log is about 10x faster than using jq. The most common mistake I see is people composing pipelines and putting jq before grep. Or worse, using select() in jq. The grep should always come first. Even if you need to do something like .. | fgrep value | jq ... | fgrep value to pre-filter, and then filter again to rule out any false positives. I have some tooling built around jsonparser and fastjson that I need to split out and open source. jq just makes me sad.. very capable, but overkill for what most people use it for and very slow for the common case. source: wrote the C version of bro-cut that you like so much :)
In Fast open-source intrusion detection
Looks neat, but seems slow? $ wc -l conn.log 8505 conn.log $ cat conn.log |time ~/src/jtc-standard.json/jtc -a -w '<uid>l' -qq |shasum 0.44 real 0.43 user 0.00 sys 167f6d638a4ccf9e0be1ff4ed74caa01a461bd9a - $ cat conn.log | time jq -r .uid|shasum 0.10 real 0.10 user 0.00 sys 167f6d638a4ccf9e0be1ff4ed74caa01a461bd9a - $ cat conn.log | time json-cut uid |shasum 0.04 real 0.01 user 0.01 sys 167f6d638a4ccf9e0be1ff4ed74caa01a461bd9a - json-cut is a crappy tool I wrote that use github.com/buger/jsonparser
In Jtc – CLI tool to extract, manipulate and transform source JSON
>requirements is higher than the time cost of using a less perfect language but richer ecosystem; but that could be totally wrong. Believe me, breakdowns will cost much more, especially if your device has no ssh, connected via ASI/some military obscure one-directional interface. I found that in many fields it's incredibly hard to approve third party libs usage, even some basic stuff like boost. >~1.5KLOC - sure, it's Go, but that's a bit more than 10 minutes Well, it is Go. This is go json parser: https://github.com/buger/jsonparser/blob/master/parser.go And this is angstrom: https://github.com/inhabitedtype/angstrom/blob/master/exampl... cron should be easier, it's either vars or cronlines, which are trivial. I prefer to write it in angstrom than to catch some unexpected panic in go because of type coercion or similar shit.
In Type-safe GraphQL with OCaml

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.