JSON
JavaScript Object Notation (JSON) is a lightweight data-interchange format.[1] It consists of key-value pairs and arrays values, and it is used for storing and transmitting data in Minecraft.
Occurences
In Minecraft, JSON format is used to store the following data:
- Text in the
/tellrawand/titlerawcommands in Bedrock Edition. - The
pack.mcmetafile that describes a Java Edition resource pack and data pack. - The
manifest.jsonfile that describes a Bedrock Edition add-on. - Files in a resource pack that define models, colormaps, sound events, texts, fonts, GUI, etc.
- Files in a data pack that define advancements, loot tables, tags, recipes, dimensions, dimension types and predicates.
- Files in a behavior pack that define entity behaviors, block behaviors, item behaviors, etc.
- Advancements and statistics (as
.minecraft/saves/*/data/stats/*.json) - The profile data for the launcher (as launcher_profiles.json)
- Information about downloaded versions (as version.json)
- Inside the Base64 encoded textures data of player heads and players.
Syntax
Data types
A JSON file must contain a single JSON value, which can use any of the following five data types: string, number, object, array, and boolean. JSON files can be contained in a single line, however it is often useful to use indentation and line breaks to make a long JSON file more readable.
String
A string is delimited by quotes and can contain any combination of characters. Some special characters need to be escaped; this is done with a back slash (\).
"foo""Hello, world""An escaped \" quote within a string"
Number
A number is defined by entering in any number. Numbers can be non-whole, as indicated with a period, and can use exponents with e.
2-0.53e6(=3×106)
Object
An object, also referred to as a compound, is delimited by opening and closing curly brackets and contains key/value pairs. Pairs are separated with commas, keys and associated values are separated with colons. Each contained key needs to have a name that is unique within the object. A value can be of any data type as well (including another object).
{
"Bob": {
"ID": 1234,
"lastName": "Ramsay"
},
"Alice": {
"ID": 2345,
"lastName": "Berg"
}
}
Array
Arrays are delimited by opening and closing square brackets and can contain values of any data type, separated by commas. Unlike lists in NBT, values in a JSON array can use different data types.
["Bob", "Alice", "Carlos", "Eve"]
Boolean
A boolean can be either true or false.
{
"Steve": {
"isAlive": true
},
"Alex": {
"isAlive": false
}
}
See also
References
| |||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||
| Editions |
| ||||||
|---|---|---|---|---|---|---|---|
| Development |
| ||||||
| Technical |
| ||||||
| Multiplayer | |||||||
| Exclusive features |
| ||||||
| Removed | |||||||