{"library":"mojangson","title":"Mojangson Parser for Node.js","description":"Mojangson is a JavaScript library for parsing, simplifying, stringifying, and normalizing Mojangson (Minecraft's data tag format). It provides functionality to convert Mojangson strings into JavaScript objects, and vice-versa, handling its unique deviations from standard JSON. Key differences include support for indexed arrays, trailing commas in arrays and objects, unquoted strings (for keys and values), and numbers with type suffixes (e.g., `5b`, `100l`). The current stable version is 2.0.4. Releases are infrequent, focusing on bug fixes and grammar improvements. This library differentiates itself by accurately implementing the specific Mojangson grammar, making it essential for applications interacting with Minecraft's NBT data tags or command syntax, where standard JSON parsers would fail due to the non-standard syntax.","language":"javascript","status":"active","last_verified":"Sun Apr 19","install":{"commands":["npm install mojangson"],"cli":null},"imports":["import mojangson from 'mojangson';","import { parse } from 'mojangson';","const { stringify } = require('mojangson');"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"const mojangson = require('mojangson');\n\n// Parsing a Mojangson string\nconst parsedData = mojangson.parse('{mykey:myvalue, number:5b, list:[0:\"item1\",1:\"item2\"]}');\nconsole.log('Parsed Data:', JSON.stringify(parsedData, null, 2));\n// Expected output: { type: 'compound', value: { mykey: { type: 'string', value: 'myvalue' }, number: { type: 'byte', value: 5 }, list: { type: 'list', value: { type: 'string', value: [ 'item1', 'item2' ] } } } }\n\n// Simplifying the parsed data (loses type information)\nconst simplifiedData = mojangson.simplify(parsedData);\nconsole.log('Simplified Data:', JSON.stringify(simplifiedData, null, 2));\n// Expected output: { mykey: 'myvalue', number: 5, list: [ 'item1', 'item2' ] }\n\n// Stringifying a JavaScript object (with types) back to Mojangson\nconst dataToConvert = {\n  type: 'compound',\n  value: {\n    message: { type: 'string', value: 'Hello' },\n    count: { type: 'int', value: 123 }\n  }\n};\nconst mojangsonString = mojangson.stringify(dataToConvert);\nconsole.log('Stringified Mojangson:', mojangsonString);\n// Expected output: {message:\"Hello\",count:123}\n\n// Normalizing Mojangson to its shortest equivalent form\nconst originalMojangson = '[0:\"z1\",1:\"z2\",]';\nconst normalizedMojangson = mojangson.normalize(originalMojangson);\nconsole.log('Normalized Mojangson:', normalizedMojangson);\n// Expected output: [z1,z2]\n","lang":"javascript","description":"Demonstrates parsing, simplifying, stringifying, and normalizing Mojangson strings, highlighting the library's core functionalities.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}