Skip to main content

mojangson

Python PyPI

A small Python library for parsing, stringifying, simplifying, and normalizing Mojangson - mojang's variant of json.

Installation

pip install mojangson

API

parse - Parse Mojangson text into a typed dict representation.

stringify - Convert a typed Mojangson dict back to a Mojangson string.

simplify - Simplify a typed Mojangson dict into a regular Python dict/list/primitive values, stripping Minecraft-specific type suffixes.

normalize - Normalize Mojangson text by parsing and then stringifying it - ensures consistent formatting and ordering.

Usage

from mojangson import parse, stringify, simplify, normalize

mojangson_string = '{key:value}'

mojangson_parsed = parse(mojangson_string)
print(mojangson_parsed)
# {'type': 'compound', 'value': {'key': {'type': 'string', 'value': 'value'}}}

print(simplify(mojangson_parsed))
# {'key': 'value'}

mojangson_stringified = stringify(mojangson_parsed)
print(mojangson_stringified)
# {key:value}

print(normalize(mojangson_string) == mojangson_stringified)
# True

CLI

Syntax:

mojangson <command> [input] [-f FILE] [-o FILE]

Arguments:

Argument Description
input Mojangson string, if not using -f/--file
-f, --file Path to an input file containing a Mojangson string
-o, --output Path to an output file. If not provided, output is printed to stdout

Examples:

mojangson parse "{a:b}"
# {'type': 'compound', 'value': {'a': {'type': 'string', 'value': 'b'}}}

mojangson simplify "{'type': 'compound', 'value': {'a': {'type': 'string', 'value': 'b'}}}" -o output.txt
# writes {'a': 'b'} to output.txt

mojangson stringify -f input.json
# reads from input.json

Metadata

Release files for mojangson 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mojangson 0.2.1
File Size Uploaded
mojangson-0.2.1.tar.gz 11.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mojangson 0.2.1
File Interpreter ABI Platform
mojangson-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 20.7 kB

Release files / mojangson-0.2.1.tar.gz

Download URL mojangson-0.2.1.tar.gz
Size 11.8 kB
Tags Source
SHA-256 checksum
How to use checksums
67919f4710b05bb1043e72b92b9f9397a20d6bda0556326c0e8478d7ca40e8bd
BLAKE2b-256 checksum
How to use checksums
1b421006e0ac4e36c03621a5b9b1d5ccd8b5cd038f49f41d366ac4b39e6a5172
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.8

Release files / mojangson-0.2.1-py3-none-any.whl

Download URL mojangson-0.2.1-py3-none-any.whl
Size 8.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ece2b14590b79de24d91b58dcf2d74069cf7d661da64fe03aa84bd9bac8f3a7a
BLAKE2b-256 checksum
How to use checksums
00e338bc1f9c65a1bd8c07e512c3a8d3d48ba633ff24b2e128cdcde5a9fcc761
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.8

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page