IBM and Red Hat — the next chapter of open innovation. Learn more ›
Get the Code
Published December 19, 2018
Mobile developmentWeb development
A lightweight data format deserves a lightweight query and transformation technology. Built on the principle that simple queries are simple to write, JSONata has a very shallow learning curve. More complex expressions build naturally on concepts already mastered, with the principle of least surprise at the forefront of the language design. With a set of fully composable operators and functions, including the ability to define new functions within expressions, it imposes no limit on the complexity of your data transformation task.
JSONata is underpinned by the semantics of the location path inspired by XPath, the ability to format the output into any JSON structure inspired by XQuery, and the functional programming model inspired by Scheme.
The semantics of the location path inspired by XPath
The ability to format the output into any JSON structure inspired by XQuery
The functional programming model inspired by Scheme.
The lightweight footprint of the runtime processor enables it to run in the web browser or as a Node.js module with no package dependencies.
There are numerous JSON path syntaxes, so why another one? JSONata is much more than just a JSON navigation syntax, in the same way that the latest version of XPath is much more than just an XML navigation syntax. The language naturally extends its simple query syntax with a sophisticated functional compute engine. With JSONata, you no longer have to abandon your code to switch to another language because of a complex transformation problem.
Contributions can be made to the JSONata project in several ways, especially in the development of the built-in function library. There is also much work to be done in implementing the JSONata runtime in other language environments like C, Ruby, Python, .NET, Swift, and the like.
This is fundamentally about extracting meaningful data that is buried in potentially large JSON structures. JSONata can be applied to virtually any problem that involves querying and transforming JSON data. And knowing that no matter how complex this data extraction task is, there are constructs in the JSONata language that enable it to be expressed.
Move the act of querying JSON data from the IT department and put it into the hands of the line-of-business professional. Complex queries can be written without expert knowledge of a programming language. The compact nature of these queries means that JSONata expressions can be authored as single-line properties in a web or mobile application. The lightweight, browser-friendly implementation allows a user to rapidly explore and extract information without having to install software or invoke external cloud services.
September 8, 2019
August 2, 2019
October 13, 2019
Back to top