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

    Latest mention: Does anyone know a cli module that allows git-like bash sub commands? | reddit.com/r/golang | 2021-01-21
  • jsoniter

    A high-performance 100% compatible drop-in replacement of "encoding/json"


    Get JSON values quickly - JSON parser for Go

    Latest mention: Conditionally unmarshal API response to struct | reddit.com/r/golang | 2021-01-10

    In addition to the custom Unmarshal approach, there is also the option of using a json path query library to check a field value. https://github.com/tidwall/gjson Im not really sure of the performance implications.

  • 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.

    Latest mention: Dive to Clean Architecture with Golang | dev.to | 2020-12-19

    github - ponzu-cms/ponzu

  • zerolog

    Zero Allocation JSON Logger

    Latest mention: Q: using sync.Pool vs buffer... | reddit.com/r/golang | 2021-01-21

    i dont know zerolog, from my quick research, i found this

  • jsonparser

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

    Latest mention: what's the best way to parse specific param in request body? | reddit.com/r/golang | 2020-12-29

    But in case your main problem is speed and you want to not to parse what you don't need use https://github.com/buger/jsonparser

  • hcl

    HCL is the HashiCorp configuration language.

    Latest mention: Essence of Terraform | dev.to | 2020-11-19


  • easyjson

    Fast JSON serializer for golang.

    Latest mention: Обережно кодогенерація | dev.to | 2020-09-21

    Бібліотека easyjson теж для серіалізації працює через додатковий код замість використання рефлексії. Але після внесення в easyjson одної з оптимізацій, час від часу почали отримувати зламаний JSON, ось приклад тесту який покаже помилку.

  • gorequest

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

  • minify

    Go minifiers for web formats

  • gojsonq

    A simple Go package to Query over JSON/YAML/XML/CSV Data

  • httpexpect

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

    Latest mention: Hacktoberfest: 69 Beginner-Friendly Projects You Can Contribute To | dev.to | 2020-09-29

    https://github.com/gavv/httpexpect End-to-end HTTP and REST API testing for Go.

  • nano

    Lightweight, facility, high performance golang based game server framework

    Latest mention: New ‘Action Roguelike’ C++ Project on GitHub | news.ycombinator.com | 2021-01-16

    Couldn't you use just a vanilla Golang (or any other language) microservice for all of this? If you know what you are doing you can have a bulletproof basic service with all of the above up and running in no time, just add your game logic. Most of your requirements are part and parcel of any modern commercial Docker microservice. Never mind that such frameworks already exist, e.g. nano [0] specifically designed for games.

    Scalability is also not an issue. Number of simultaneous players and objects is limited by bandwidth and latency only. There are certainly no barriers to handling multi-million entity databases on any modern server. You're really only limited by how much data you can push out to your users within an update tick. And of course by how much money you're willing to pay for back end compute capacity on an ongoing basis. But those costs are very low these days, especially if you have dedicated servers rather then AWS/Google/Azure.

    I think perhaps the issue is not so much that frameworks don't exist, but rather that no single framework has achieved popularity in the game design community. The indie crowd is not likely to want to, or afford to, run servers for years and years, so the demand is not there. The triple-A studios roll their own.

    [0] https://github.com/lonng/nano

  • render

    Go package for easily rendering JSON, XML, binary data, and HTML templates responses.

  • fastjson

    Fast JSON parser and validator for Go. No custom structs, no code generation, no reflection

  • dasel

    Query, update and convert data structures from the command line. Comparable to jq/yq but supports JSON, TOML, YAML, XML and CSV with zero runtime dependencies.

    Latest mention: Parsing JSON at the CLI: A Practical Introduction to jq (and more!) | reddit.com/r/commandline | 2020-12-21

    Cool tool, thanks for sharing. I also like this one which is more complex like jq but also supports many different data formats https://github.com/TomWright/dasel

  • stash

    An organizer for your porn, written in Go

    Latest mention: Help organizing coomer collection | reddit.com/r/DataHoarder | 2021-01-25

    I use https://github.com/stashapp/stash for paysites, Jellyfin for (JAV) movies

  • gosercomp

    :zap: Golang Serializer Benchmark Comparison

    Latest mention: Is there an easy way to copy one struct's fields into another? | reddit.com/r/golang | 2020-12-21

    I like it because it's faster to parse than JSON, takes up less space than JSON, is dynamic, and you can use a generator to generate highly performant readers / writers for it. The library I recommended tinylib/msgp is one of the faster data serialization libraries in general ( https://github.com/smallnest/gosercomp ), and is well written and easy to use.

  • phuslu/log

    Structured Logging Made Easy

  • renderer

    Simple, lightweight and faster response (JSON, JSONP, XML, YAML, HTML, File) rendering package for Go

  • Scribble

    A tiny Golang JSON database

  • ojg

    Optimized JSON for Go

    Latest mention: The Pros and Cons of DRY Code | news.ycombinator.com | 2021-01-27

    DRY is something to strive for but as pointed out there are often tradeoffs with DRY. One that I ran into not too long ago when writing https://github.com/ohler55/ojg was the performance penalty that DRY code can incur. Sadly there is a lot of repetition in that code but by avoiding a dry approach the code is also several times faster than if more functions were used to avoid repetition.

  • rts

    RTS: request to struct. Generates Go structs from JSON server responses.

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 2021-01-27.


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

Project Stars
1 urfave/cli 15,132
2 jsoniter 8,803
3 GJSON 7,662
4 Ponzu 5,143
5 zerolog 4,253
6 jsonparser 3,804
7 hcl 3,298
8 easyjson 2,944
9 gorequest 2,790
10 minify 2,559
11 gojsonq 1,610
12 httpexpect 1,588
13 nano 1,558
14 render 1,404
15 fastjson 1,115
16 dasel 699
17 stash 448
18 gosercomp 291
19 phuslu/log 291
20 renderer 217
21 Scribble 215
22 ojg 209
23 rts 207