SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 Go JSON Projects
-
Project mention: Best practices for distributing and updating a Go CLI on Linux? | /r/golang | 2023-05-18
Can you use a framework like urfavecli https://github.com/urfave/cli? This will auto-update every time it detects a new version from your CLI's GitHub repository
-
Project mention: Jaq – A jq clone focused on correctness, speed, and simplicity | news.ycombinator.com | 2023-11-29
There's also this awesome tool to make JSON interactively navigable in the terminal:
-
InfluxDB
Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.
-
```
I don't think there is a way to sort an array, though. However, there is an option to have keys sorted. Personally, I don't think there is much annoyance in that. One could just pipe `jj` output to `sort | uniq -c`.
-
jsoniter
A high-performance 100% compatible drop-in replacement of "encoding/json" (by json-iterator)
Project mention: A Journey building a fast JSON parser and full JSONPath | news.ycombinator.com | 2023-10-11We all know the builtin golang JSON parser is slow.
How about doing comparisons against other implementations?
Like this one: https://github.com/json-iterator/go
-
Project mention: Runtime error with plugin that uses io.popen to run executable during plugin startup | /r/neovim | 2023-11-29
I've been trying to install and config a plugin (papis.nvim) for a couple of days and am having issues with a function that uses io.popen to run yq to convert yaml files to json. I know my install of yq is fine- I can run yq -oj info.yaml from the command line with no issue and it produces the correct json output. I know the function can find the yq executable, but it returns nil. I've saved the error from the yq golang code: panic: runtime error: invalid memory address or nil pointer dereference
-
Be aware that there is a performance impact compared to using zerolog directly [0] (my uneducated guess is it is likely due to pointer indirection).
[0]: https://github.com/rs/zerolog/issues/571#issuecomment-166202...
-
Project mention: Jaq – A jq clone focused on correctness, speed, and simplicity | news.ycombinator.com | 2023-11-29
https://github.com/wader/fq has a REPL and can read JSON. Tip is to use "paste | from_json | repl" in a REPl to paste JSON into a sub-REPL, you can also use `` with fq which is a raw string literal
-
Onboard AI
Learn any GitHub repo in 59 seconds. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at www.getonboard.dev.
-
In essence, container image signing involves adding a digital stamp to an image, affirming its authenticity. This digital assurance guarantees that the image is unchanged from creation to deployment. In this blog, I'll explain how to sign container images for Kubernetes using Cosign and the Open Policy Agent. I will also share a tutorial that demonstrates these concepts.
-
miller
Miller is like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON
jq and miller[1] are essential parts of my toolbelt, right up there with awk and vim.
-
Also, something that comes pretty close to what I want to do is stash. However, it doesn't handle ebooks, and my library is not nsfw and shouldn't rely on an external database (as no external database for my field of interest exists afaik). But stash ticks almost all the requirements.
-
-
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.
-
Project mention: Introducing astjson: Transform and Merge JSON Objects with Unmatched Speed in Go | dev.to | 2023-11-29
In this article, I will introduce you to a new package called astjson that I have been working on for the last couple of weeks. It is a Go package that allows you to transform and merge JSON objects with unmatched speed. It is based on the jsonparser package by buger aka Leonid Bugaev and extends it with the ability to transform and merge JSON objects at unparalleled performance.
-
Project mention: Show HN: Togomak – declarative pipeline orchestrator based on HCL and Terraform | news.ycombinator.com | 2023-10-24
HCL has a JSON representation [1], internally, objects behave that way. so it should be possible to write a Jsonnet wrapper around it. Terraform can currently parse json pipelines too.
[1]: https://github.com/hashicorp/hcl/blob/main/json/spec.md
-
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.
-
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: Wazero: Zero dependency WebAssembly runtime written in Go | news.ycombinator.com | 2023-07-01Never got it to anything close to a finished state, instead moving on to doing the same prototype in llvm and then cranelift.
That said, here's some of the wazero-based code on a branch - https://github.com/cube2222/octosql/tree/wasm-experiment/was...
It really is just a very very basic prototype.
-
Project mention: Google's Go may add telemetry reporting that's on by default | /r/golang | 2023-02-10
Compile time means you catch issues at... well compile time. It also means that the code is optimized. You can look at the performance different between encoding/json and easyjson for why you may desire that.
-
I want to write the lua bindings for tdewolff/minify the appropriate way. It already has python and js bindings but I can't figure out how to do that. The python bindings seems to use the shared object file, but the js doesn't work like that. What options do I have?
-
You might want to look at tsv-utils, or a similar project: https://github.com/eBay/tsv-utils
For the SQL part, but maybe a lot heavier, you can use one of the projects listed on this page: https://github.com/multiprocessio/dsq (No longer maintained, but has links to lots of other projects)
-
-
Project mention: Ask HN: What are some Golang tools you can't live without? | news.ycombinator.com | 2023-05-23
gabs [0]. It helps with dealing with dynamic JSONs with unknown structures.
-
Project mention: Jaq – A jq clone focused on correctness, speed, and simplicity | news.ycombinator.com | 2023-11-29
-
Drop-in replacement for the stdlib JSON package: https://github.com/goccy/go-json
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Go JSON related posts
- Jaq – A jq clone focused on correctness, speed, and simplicity
- Introducing astjson: Transform and Merge JSON Objects with Unmatched Speed in Go
- Fx 31.0.0 Release
- Interactive Examples for Learning Jq
- Building a high performance JSON parser
- Rego for beginners: Introduction to Rego
- A Journey building a fast JSON parser and full JSONPath
-
A note from our sponsor - #<SponsorshipServiceOld:0x00007f0f9ba9fc48>
www.saashub.com | 1 Dec 2023
Index
What are some of the best open-source JSON projects in Go? This list will help you:
Project | Stars | |
---|---|---|
1 | urfave/cli | 20,999 |
2 | fx | 17,827 |
3 | GJSON | 13,053 |
4 | jsoniter | 12,742 |
5 | yq | 9,844 |
6 | zerolog | 9,098 |
7 | fq | 9,012 |
8 | OPA (Open Policy Agent) | 8,662 |
9 | miller | 8,251 |
10 | stash | 6,657 |
11 | jid | 6,641 |
12 | Ponzu | 5,602 |
13 | jsonparser | 5,252 |
14 | hcl | 4,878 |
15 | dasel | 4,635 |
16 | octosql | 4,626 |
17 | easyjson | 4,246 |
18 | minify | 3,477 |
19 | dsq | 3,422 |
20 | gorequest | 3,338 |
21 | gabs | 3,095 |
22 | gojq | 2,889 |
23 | go-json | 2,567 |