This extension brings the JSONata query engine to Visual Studio Code.
This extension enables JSONata language support to Visual Studio Code. The extension is activated for files with the *.jsonata extension.
We also support JSONata Notebooks. They are automatically activated for files with the *.jsonata-book extension.
Within notebooks several additional functions are available:
- 
$parseString($content[, $type])takes up to two arguments. It parses$contentinto an JSON object. This happens based on the variable$typewith a JSON or an XML parser. JSON is the default parser. - 
$loadFile($file[, $type])takes up to two arguments.$filerepresents the filename to be loaded. With the optional argument$typeone can specify how this file should be loaded. At the moment onlyjsonandxmlcan be chosen whereas json is the standard if$typeis missing. - 
$loadUrl($url[, $type])works just like$loadFile()but with URLs instead of files. - 
$readFile($file)reads a file and returns the result as a string. - 
$writeFile($file, $content)writes the data of$contentinto the file$file. The content can be an object and is stringified as a JSON string. The indentation is set to2. - 
$readUrl($url)reads a url and returns the result as a string. - 
$eval($content)evaluates a string using the JSONata compiler. - 
$import($file)imports a file and evaluates it. This is useful for defining often used functions in a separate file and then include it in a notebook. If several functions shall be imported from a single file, then export them as a object. This could look like this: 
{
  $hello := function() {
    "hello"
  };
  $world := function() {
    "world"
  }
}In the notebook you can then use this use this code:
(
  $api = $import("test.jsonata");
  $api.hello();
  $api.world()
)Each code cell of the notebook can access the result of the most recent executed cell by using $ans.
A good documentation for the JSONata language can be found here.
None
None
- None
 
- Support block comments (#2)
 - Fix parsing string quotes (#5)
 - Change of evaluation behavior (Promises are evaluated during JSONata evaluation)
 - Implement new functions:
- $parseString()
 - $loadUrl()
 - $readFile()
 - $readUrl()
 - $eval()
 - $import()
 - $writeFile()
 
 
- Update JSONata to version 2.0.2
 
- Fix issue where VS Code does not recognize the mime type 
application/jsonas notebook renderer anymore 
- Support importing XML files in 
$loadFile()<ss?:o> 
- Better error handling for loading files with 
$loadFile() 
- Enable web extension (currently only syntax highlighting works - there is no renderer for the JSON output)
 - Code Completion for defined functions and vars
 
- Initial release
 - Supports the grammar from try.jsonata.org
 - Supports notebooks
 
