Top 23 Go JSON Projects
-
urfave/cli
A simple, fast, and fun package for building command line apps in Go (by urfave)
Project mention: Can you recommend open source projects with small codebase, but with high benefits for learning? | reddit.com/r/golang | 2021-02-22 -
jsoniter
A high-performance 100% compatible drop-in replacement of "encoding/json" (by json-iterator)
-
Scout
Get performance insights in less than 4 minutes. Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.
-
GJSON
Get JSON values quickly - JSON parser for Go
gjson package could also be useful for this case (https://github.com/tidwall/gjson). Of course, it wouldn’t show the difference, but local json (I assume it’s a model data, used as a reference) can be used to get keys list and values to compare with.
-
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.
github - ponzu-cms/ponzu
-
opa
An open source, general-purpose policy engine.
Yeap GitHub for OPA is here. Pick a small issue and start there. https://github.com/open-policy-agent/opa/issues
-
zerolog
Zero Allocation JSON Logger
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
Project mention: what's the best way to parse specific param in request body? | reddit.com/r/golang | 2020-12-29But 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.
> I can imagine something homegrown, or languages like Cue, Dhall or HCL.
-
easyjson
Fast JSON serializer for golang. (by mailru)
Бібліотека easyjson теж для серіалізації працює через додатковий код замість використання рефлексії. Але після внесення в easyjson одної з оптимізацій, час від часу почали отримувати зламаний JSON, ось приклад тесту який покаже помилку.
-
gorequest
GoRequest -- Simplified HTTP client ( inspired by nodejs SuperAgent )
-
minify
Go minifiers for web formats (by tdewolff)
-
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: Minimally Invasive (and More Accurate) Analytics: GoAccess and Athena/SQL | news.ycombinator.com | 2021-02-16With OctoSQL[0], as I wanted to see how people are using it, I literally just set up an http endpoint which received a JSON request on each CLI invocation (you can see the data sent in the code, it's open source) and appended it to an on-disk JSON file.
Then I used... OctoSQL to analyze it!
Nit: The project may seem dead for a few months, but I'm just in midst of a rewrite (on a branch) which gets rid of wrong decisions and makes it easier to embed in existing applications.
-
httpexpect
End-to-end HTTP and REST API testing for Go.
Project mention: Hacktoberfest: 69 Beginner-Friendly Projects You Can Contribute To | dev.to | 2020-09-29https://github.com/gavv/httpexpect End-to-end HTTP and REST API testing for Go.
-
gojsonq
A simple Go package to Query over JSON/YAML/XML/CSV Data
-
nano
Lightweight, facility, high performance golang based game server framework
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.
-
render
Go package for easily rendering JSON, XML, binary data, and HTML templates responses. (by unrolled)
-
tanka
Flexible, reusable and concise configuration for Kubernetes
Project mention: INTERCAL, YAML, And Other Horrible Programming Languages | reddit.com/r/programming | 2021-02-25Jsonnet has been serving me well. Tanka seems to fix all the remaining issues. It's not the fastest thing out there, but it's honestly easy to debug.
-
fastjson
Fast JSON parser and validator for Go. No custom structs, no code generation, no reflection (by valyala)
-
sjson
Set JSON values very quickly in Go
Project mention: Golang JSON Gotchas That Drove Me Crazy But I Have Learned to Deal With | reddit.com/r/golang | 2021-02-28Good article on marshaling to structs. JSON in Go can also be done with map[string]interface{} or the excellent https://github.com/tidwall/gjson and https://github.com/tidwall/sjson, depending on your use case.
-
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.
Project mention: Parsing JSON at the CLI: A Practical Introduction to jq (and more!) | reddit.com/r/commandline | 2020-12-21Cool 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
-
encoding
Go package containing implementations of efficient encoding, decoding, and validation APIs. (by segmentio)
If you're interested in super fast & easy JSON for that cache give this a try I've used it in prod & never had a problem.
-
go-json
Fast JSON encoder/decoder compatible with encoding/json for Go
Project mention: Fast JSON encoder/decoder compatible with encoding/json for Go | reddit.com/r/golang | 2021-02-09 -
stash
An organizer for your porn, written in Go (by stashapp)
Check out stash. https://github.com/StashApp/Stash
Index
What are some of the best open-source JSON projects in Go? This list will help you:
Project | Stars | |
---|---|---|
1 | urfave/cli | 15,386 |
2 | jsoniter | 8,968 |
3 | GJSON | 7,899 |
4 | Ponzu | 5,164 |
5 | opa | 4,701 |
6 | zerolog | 4,409 |
7 | jsonparser | 3,860 |
8 | hcl | 3,361 |
9 | easyjson | 3,019 |
10 | gorequest | 2,811 |
11 | minify | 2,592 |
12 | octosql | 2,343 |
13 | httpexpect | 1,631 |
14 | gojsonq | 1,626 |
15 | nano | 1,597 |
16 | render | 1,413 |
17 | tanka | 1,285 |
18 | fastjson | 1,152 |
19 | sjson | 1,123 |
20 | dasel | 736 |
21 | encoding | 697 |
22 | go-json | 603 |
23 | stash | 559 |