A server-side processor for JSONata that supports JSON, XML and CSV input/output, with a feature-rich UI editor powered by Monaco Editor
- Unlimited Processing Time: Server-side processing removes browser limitations.
- Flexible Input/Output: Supports both JSON, XML and CSV formats.
- Choose your CSV Delimiter: comma, semi-column and tab are supported
- Data Persistence: Saves data to local storage to prevent data loss.
- Dark/Light Mode: Choose your preferred theme.
- Auto-refresh: Automatically updates the data.
- Error Highlighting: Find easily in your JSONata expression what went wrong
- Autocompletion and documentation: JSONata documentation for functions is embbed
- Advanced UI Editor: Powered by Monaco Editor.
You can use JSONata bindings feature directly inside the JSONata expression window.
To do so, add //BINDINGS
at the end of your JSONata expression, followed by your custom bindings.
Example:
"hello there!" ~> $firstLetterUppercase
//BINDINGS
{
firstLetterUppercase(input) {
return input.charAt(0).toUpperCase() + input.slice(1);
}
}
will produce the following result
"Hello there!"
Note
NodeJS >=18.3 must be installed on your machine
- Install NPM CLI package globally:
npm install -g jsonata-server
- Start the server:
PORT=3000 jsonata-server
Note
You must be authenticated on the Github Container Registery
docker run -d -p 3000:3000 ghcr.io/joussy/jsonata-server
Open your browser and navigate to http://localhost:3000
- Clone the repository:
git clone https://github.com/joussy/jsonata-server.git
- Navigate to the project directory:
cd jsonata-server
- Install the dependencies
npm install
- Build the Docker image:
docker build -t jsonata-server .
- Run the Docker container:
docker run -d -p 3000:3000 --name jsonata-server jsonata-server
- Open your browser and navigate to http://localhost:3000
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the MIT License - see the LICENSE file for details.