JSON (JavaScript Object Notation – Notation Objet issue de JavaScript) est un format léger d'échange de données.[1]
Dans Minecraft, le format JSON est utilisé pour stocker les données suivantes :
- Texte des livres édités, des pancartes, noms personnalisés et les commandes
/tellraw
,/title
,/bossbar
,/scoreboard
et/team
.[Version Java uniquement] - Le fichier
pack.mcmeta
qui décrit un pack de ressources et un pack de données.[Version Java uniquement] - Le fichier
manifest.json
qui décrit un add-on.[Version Bedrock uniquement] - Les fichiers dans un pack de ressources qui définissent les modèles,
sounds.json
et les interfaces utilisateur.[Version Bedrock uniquement] - Les fichiers dans un pack de comportement qui définissent le comportement des entités.[Version Bedrock uniquement]
- Les progrès et statistiques (
.minecraft/saves/*/data/stats/*.json
).[Version Java uniquement] - Les données de profil(en) pour le lanceur (
.minecraft/launcher_profiles.json
). - Informations à propos des versions téléchargées (
.minecraft/versions/*/*.json
). - Les fichiers dans un pack de données qui définissent les avancements, tables de butin, tags, dimensions personnalisées(en) et prédicats(en).[Version Java uniquement]
Syntaxe[]
Types de données[]
Un fichier JSON ne peut contenir qu'une seule valeur JSON, qui peut utiliser n'importe lequel des types de données suivants : chaîne, nombre, objet, tableau, et booléen. Les fichiers JSON peuvent être écrits en une seule ligne, il est cependant souvent utile d'utiliser l'indentation et les sauts de lignes pour rendre un long fichier JSON plus lisible.
Chaîne[]
Une chaîne est délimitée par des guillemets et peut contenir n'importe quelle combinaison de caractères et d'espaces. Quelques caractères spéciaux nécessitent d'être échappés avec \
.
"Hello, world"
"Un guillemet échappé \" dans une citation"
Nombre[]
Un nombre est défini en entrant n'importe quel nombre. Les nombres peuvent ne pas être entiers, si indiqués avec un point .
, et peuvent utiliser les exposants avec e
.
2
-0.5
3e6
Objet[]
Un objet, également appelé combinaison (compound en anglais), est délimité par des accolades ouvrante et fermante qui contiennent des paires clef/valeur. Les paires sont séparées par des virgules, les clefs et leurs valeurs associées par des deux-points. Chaque clef doit avoir un nom qui est unique dans l'objet. La valeur peut-être de n'importe quel type, y compris un autre objet.
{
"Bob": {
"ID": 47182,
"NomDeFamille": "Ramsay"
},
"Alice": {
"ID": 47183,
"NomDeFamille": "Berg"
}
}
Tableau[]
Les tableaux sont délimités par des crochets ouvrant et fermant et peuvent contenir des valeurs de n'importe quel type (contrairement aux listes NBT), séparées par des virgules.
["Bob", "Alice", "Carlos", "Eve"]
Booléen[]
Un booléen peut être true
ou bien false
.
{
"Alice": {
"isMale": false
},
"Bob": {
"isMale": true
}
}