jsonedit

JSON Edit

JSON Edit Logo

A web-based JSON editor application.

Features

Show me

Home Page

The landing page of the application provides quick access to all main features. From here, you can:

Home Page

JSON Editor

A full-featured JSON editor with syntax highlighting and validation. This view allows you to:

JSON Editor

JSON Viewer

A read-only view for JSON documents with collapsible sections. This view is ideal for:

JSON Viewer

JSON Comparison

A comparison tool that highlights differences between two JSON documents. Features include:

JSON Comparison

Debug Visualizer

An advanced debugging tool available in debug mode that shows:

Debug Visualizer

Call it at /__viz

Usage

# Run with default settings
jsonedit

# Run with custom settings
jsonedit --port 3000 --host 0.0.0.0 --indent "    " --read-only

Configuration

The application can be configured using command-line flags or environment variables:

Flag Environment Variable Default Description
--port JSON_EDIT_PORT 8080 Port to listen on
--host JSON_EDIT_HOST localhost Host to listen on
--indent JSON_EDIT_INDENT ” “ Indentation level
--read-only JSON_EDIT_READ_ONLY false Read-only mode
--log-level JSON_EDIT_LOG_LEVEL info Log level (debug, info, warn, error)

When running in debug mode (by setting --log-level debug), the application exposes a /__viz endpoint that provides visualization and logging of HTTP requests and responses, which is useful for debugging and development.

Building and Releasing

This project uses GoReleaser to build and release binaries for multiple platforms:

Local Testing

To test the build process locally:

# Install GoReleaser if you haven't already
go install github.com/goreleaser/goreleaser@latest

# Test the build without releasing
goreleaser build --snapshot --clean

The built binaries will be available in the dist/ directory.

Creating a Release

To create a new release:

  1. Tag the commit you want to release:
    git tag -a v0.1.0 -m "First release"
    git push origin v0.1.0
    
  2. The GitHub Actions workflow will automatically build and release the binaries.

  3. The release will be available on the GitHub Releases page.

Used dependencies

Go dependencies

This project uses the following dependencies not from the same author:

Used Fonts

This project uses the following fonts:

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.