Skip to content

vladbalanescu/jsonata

 
 

Repository files navigation

JSONata

Build Status Coverage Status Dependency Status

JSON query and transformation language

##Introduction The primary purpose of this language is to extract values from JSON documents, with the additional capabilities to combine these values using a set of basic functions and operators, and also the ability to format the output into any arbitrary JSON structure.

##Install

  • npm install jsonata

##Usage In node.js (works in v4.4 and later):

var jsonata = require("jsonata");
var data = { "example": [ {"value": 4}, {"value": 7}, {"value": 13}] };
var expression = "$sum(example.value)";
var result = jsonata(expression).evaluate(data);  // returns 24

In a browser (works in latest Chrome, Firefox, Safari):

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JSONata test</title>
    <script src="lib/jsonata.js"></script>
</head>
<body>
<button onclick="alert(jsonata('[1..10]').evaluate())">Click me</button>
</body>
</html>

##Tutorial A tutorial on the JSONata language is available here

##Developers If you want to run the latest code from git, here's how to get started:

  1. Clone the code:

     git clone https://github.com/jsonata-js/jsonata.git
     cd jsonata
    
  2. Install the development dependencies (there are no runtime dependencies):

     npm install
    
  3. Run the tests

     npm t
    

##Errors

If an expression throws an error, e.g. syntax error or a runtime error (type error), then the object thrown has a consistent structure containing the column number of the error, the token that caused the error, and any other relevant information, including a meaningful message string.

For example:

{ "position": 16, "token": "}", "value": "]", "message": "Syntax error: expected ']' got '}' at column 16" }

##More Information Tutorial tutorial.md Function library functions.md

Contributing

See the CONTRIBUTING.md for details of how to contribute to this repo.

About

JSONata query and transformation language

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%