Open-source Go projects categorized as JSON

Top 23 Go JSON Projects

  • urfave/cli

    A simple, fast, and fun package for building command line apps in Go (by urfave)

    Project mention: Trying to Configure checkpoint for Fast syncing.Error in Command :-go run prysm/cmd/prysmctl/checkpointsync download --beacon-node-host=http://localhost:3500 | reddit.com/r/ethstaker | 2022-10-10

    ....\Softwares\go\src\prysm\cmd\prysmctl\checkpointsync\cmd.go:3:8: cannot find package "github.com/urfave/cli/v2" in any of:

  • fx

    Terminal JSON viewer

    Project mention: Show HN: Llama – Terminal File Manager | news.ycombinator.com | 2022-11-22

    This looks like something I'd use often. Thanks for creating it! For anyone who's not familiar, Anton is also behind the highly useful fx[0] for wrangling JSON data in the terminal.

    [0] https://github.com/antonmedv/fx

  • Scout APM

    Truly a developer’s best friend. Scout APM is great for developers who want to find and fix performance issues in their applications. With Scout, we'll take care of the bugs so you can focus on building great things 🚀.

  • jsoniter

    A high-performance 100% compatible drop-in replacement of "encoding/json" (by json-iterator)

    Project mention: How can we umarshal a Big JSON effectively? | reddit.com/r/golang | 2022-11-16

    Do you want to look at every field all at the same time? If not, you can pick out individual fields. There's other packages such as https://github.com/tidwall/gjson or https://github.com/json-iterator/go that let you pass in paths such as "a.b.c" to extract single fields.


    Get JSON values quickly - JSON parser for Go

    Project mention: Is there a way to parse unstructured data? | reddit.com/r/golang | 2022-11-27

    That’s because Go is a statically typed language. If you want to easily access the data, you need to know the structure, if you don’t know the structure, then you’re going to have to jump through hoops to get at the data. I would probably try using https://github.com/tidwall/gjson if I were you.

  • OPA (Open Policy Agent)

    An open source, general-purpose policy engine.

    Project mention: Mangle, a programming language for deductive database programming | news.ycombinator.com | 2022-11-26

    Thanks for sharing Biscuit, I was collecting examples of authentication policy languages.

    Datalog is also the basis for Open Policy Agent https://www.openpolicyagent.org/docs/latest/ , more specifically it's Rego language which is also implemented in go https://github.com/open-policy-agent/opa/tree/main/rego

  • zerolog

    Zero Allocation JSON Logger

    Project mention: If you had to choose a logging framework, which one would you use? | reddit.com/r/golang | 2022-10-19
  • jid

    json incremental digger

    Project mention: Zq: An Easier (and Faster) Alternative to Jq | news.ycombinator.com | 2022-04-26

    It took me a while to grok jq, but now that I do I kinda like it? I don't think I want to learn yet another thing.

    I do like tools that complement/supplement jq though, like jid: https://github.com/simeji/jid

  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Data Platform where developers build real-time applications for analytics, IoT and cloud-native services in less time with less code.

  • miller

    Miller is like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON

    Project mention: Is there a nice embedded json db, like PoloDB (Rust) for Golang | reddit.com/r/golang | 2022-11-05

    Miller can query JSON files as-is and do it from a command line for you. I'm not sure why you say you need an "embedded json db" for something that small; unless you want it that way just for the ability issue queries? Is mongo a requirement for this? Regardless, Miller gives you a query capability as well and can be used on JSON, XML, and CSV.

  • Ponzu

    Headless CMS with automatic JSON API. Featuring auto-HTTPS from Let's Encrypt, HTTP/2 Server Push, and flexible server framework written in Go.

  • stash

    An organizer for your porn, written in Go

    Project mention: Tool that tallies video files | reddit.com/r/DataHoarder | 2022-11-26

    Stash also does this.

  • fq

    jq for binary formats

    Project mention: pup: Parsing HTML at the Command Line | news.ycombinator.com | 2022-11-30
  • jsonparser

    One of the fastest alternative JSON parser for Go that does not require schema

    Project mention: Is there a way to parse unstructured data? | reddit.com/r/golang | 2022-11-27

    Best I've found is this: https://github.com/buger/jsonparser

  • hcl

    HCL is the HashiCorp configuration language.

    Project mention: What is meant by the configuration file in Terraform? | reddit.com/r/Terraform | 2022-11-08

    Just to get some misconceptions corrected up front, terraform is written in "hcl" - the Hashicorp Configuration Language. When terraform runs it slurps up *.tf in the current directory - there's no actual need for something to be called main.tf. You could have a hundred files in your current directory named completely randomly and terraform would still use them, as long as they had a .tf extension.

  • octosql

    OctoSQL is a query tool that allows you to join, analyse and transform data from multiple databases and file formats using SQL.

    Project mention: Steampipe – Select * from Cloud; | news.ycombinator.com | 2022-09-30

    To add somewhat of a counterpoint to the other response, I've tried the Steampipe CSV plugin and got 50x slower performance vs OctoSQL[0], which is itself 5x slower than something like DataFusion[1]. The CSV plugin doesn't contact any external API's so it should be a good benchmark of the plugin architecture, though it might just not be optimized yet.

    That said, I don't imagine this ever being a bottleneck for the main use case of Steampipe - in that case I think the APIs themselves will always be the limiting part. But it does - potentially - speak to what you can expect if you'd like to extend your usage of Steampipe to more than just DevOps data.

    [0]: https://github.com/cube2222/octosql

    [1]: https://github.com/apache/arrow-datafusion

    Disclaimer: author of OctoSQL

  • easyjson

    Fast JSON serializer for golang.

    Project mention: Using a json lib other than encoding/json | reddit.com/r/golang | 2022-03-23

    There is https://github.com/mailru/easyjson out there if you are absolutely sure that serialization is the bottleneck. Otherwise I'd go for stdlib.

  • dasel

    Select, put and delete data from JSON, TOML, YAML, XML and CSV files with a single tool. Supports conversion between formats and can be used as a Go package.

    Project mention: Jc – JSONifies the output of many CLI tools | news.ycombinator.com | 2022-11-03
  • gorequest

    GoRequest -- Simplified HTTP client ( inspired by nodejs SuperAgent )

  • minify

    Go minifiers for web formats (by tdewolff)

    Project mention: Tell HN: Toptal's HTML minification API occasionally injects tracking JavaScript | news.ycombinator.com | 2022-09-28

    Just a heads up for anyone using their API - about 1 in 5 requests will return with Cloudflare Insights tracking JS. It's not mentioned anywhere in the API documentation, Privacy Policy, or ToS.

    Fairly certain this is the package they based their service on https://github.com/tdewolff/minify

  • gabs

    For parsing, creating and editing unknown or dynamic JSON in Go

    Project mention: Is there a way to parse unstructured data? | reddit.com/r/golang | 2022-11-27

    This might be of interest: https://github.com/Jeffail/gabs

  • dsq

    Commandline tool for running SQL queries against JSON, CSV, Excel, Parquet, and more.

    Project mention: Command-line data analytics made easy | news.ycombinator.com | 2022-11-03

    SPyQL is really cool and its design is very smart, with it being able to leverage normal Python functions!

    As far as similar tools go, I recommend taking a look at DataFusion[0], dsq[1], and OctoSQL[2].

    DataFusion is a very (very very) fast command-line SQL engine but with limited support for data formats.

    dsq is based on SQLite which means it has to load data into SQLite first, but then gives you the whole breath of SQLite, it also supports many data formats, but is slower at the same time.

    OctoSQL is faster, extensible through plugins, and supports incremental query execution, so you can i.e. calculate a running group by + count while tailing a log file. It also supports normal databases, not just file formats, so you can i.e. join with a Postgres table.

    [0]: https://github.com/apache/arrow-datafusion

    [1]: https://github.com/multiprocessio/dsq

    [2]: https://github.com/cube2222/octosql

    Disclaimer: Author of OctoSQL

  • gojq

    Pure Go implementation of jq

    Project mention: Looking for programming languages created with Go | reddit.com/r/golang | 2022-11-06

    jq https://github.com/itchyny/gojq

  • nano

    Lightweight, facility, high performance golang based game server framework

  • httpexpect

    End-to-end HTTP and REST API testing for Go.

    Project mention: Best packages? | reddit.com/r/golang | 2022-10-16

    httpexpect for testing HTTP services. Works great with both RESTful and GraphQL.

  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2022-11-30.

Go JSON related posts


What are some of the best open-source JSON projects in Go? This list will help you:

Project Stars
1 urfave/cli 19,355
2 fx 15,495
3 jsoniter 11,550
4 GJSON 11,465
5 OPA (Open Policy Agent) 7,408
6 zerolog 7,279
7 jid 6,442
8 miller 5,806
9 Ponzu 5,490
10 stash 5,021
11 fq 4,919
12 jsonparser 4,851
13 hcl 4,399
14 octosql 4,192
15 easyjson 3,961
16 dasel 3,849
17 gorequest 3,200
18 minify 3,155
19 gabs 2,887
20 dsq 2,880
21 gojq 2,336
22 nano 2,174
23 httpexpect 2,022
Workflow assistant built for devs & their teams
Automate the mundane part of your day, with live actionable messages for your GitHub & Jira tasks.