A Go library for querying JSON data using SQL-like expressions with support for arithmetic, comparison, and regex operators.
jsonql is a Go library that provides a SQL-like query language for filtering and searching JSON data. It allows developers to write expressive queries with arithmetic, comparison, and regex operators directly against JSON structures, eliminating the need for manual iteration or external query engines.
Go developers working with JSON data who need to perform in-memory filtering, validation, or search operations without relying on databases.
It offers a lightweight, dependency-free solution with an intuitive SQL-inspired syntax, making it easier to write complex queries compared to manual JSON parsing or heavier alternatives.
JSON query expression library in Golang.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses familiar operators like && for AND and ~= for regex, making it easy for developers with SQL experience to write queries, as shown in the README examples mapping SQL operators.
Includes arithmetic, comparison, regex, and null/defined checks, allowing for expressive queries without manual parsing, evidenced by examples like age=(2*3)^2 and skills contains 'Eating'.
Integrates seamlessly into Go workflows with no external dependencies, as indicated by the simple installation via go get and minimal library footprint.
Provides operators like is null and is defined to handle optional JSON fields gracefully, demonstrated in the hobby field examples from the README.
Lacks support for advanced SQL features such as joins, grouping, or sorting, restricting it to basic filtering and search operations within single JSON documents.
Query expression details are referenced to an external link (gojq), which may lead to disjointed learning and reliance on another project's documentation for full syntax understanding.
As an in-memory query engine without optimization or indexing, it may struggle with very large JSON documents or high-frequency queries, impacting performance in data-intensive applications.