JavaScript Object Notation (JSON) é um formato leve de intercâmbio de dados.[1]
No Minecraft, o formato JSON é usado para armazenar os seguintes dados:
- Texto em livros escritos, placas, nomes personalizados e os comandos
/tellraw
,/title
,/bossbar
,/scoreboard
e/team
.[Edição Java apenas] - O arquivo
pack.mcmeta
que descreve um pacote de recursos e pacote de dados da Edição Java. - O arquivo
manifest.json
que descreve um add-on da Edição Bedrock. - Arquivos em um pacote de recursos que definem modelos, eventos de som, e Interface do Usuário[Edição Bedrock apenas].
- Arquivos em um pacote de comportamento que definem comportamentos de entidade[Edição Bedrock apenas].
- Progressos e estatísticas (como
.minecraft/saves/*/data/stats/*.json
) - Os dados de perfil para o launcher (como
.minecraft/launcher_profiles.json
) - Informações sobre versões baixadas (como
.minecraft/versions/*/*.json
) - Arquivos em um pacote de dados que definem progressos, tabelas de saque, tags, receitas, dimensões, tipos de dimensão e predicados[Edição Java apenas].
Sintaxe[]
Tipos de dados[]
Um arquivo JSON deve conter um único valor JSON, que pode usar qualquer um dos cinco tipos de dados a seguir: string, número, objeto, array e booleano.
Os arquivos JSON podem estar contidos em uma única linha, no entanto, geralmente é útil usar recuo e quebras de linha para tornar um arquivo JSON longo mais legível.
String[]
Uma string é delimitada por aspas e pode conter qualquer combinação de caracteres ou espaços. Alguns caracteres especiais precisam ser escapados (pode ser feito com o uso de uma barra invertida \
).
foo"
"Olá, mundo"
"Uma \" aspa dupla escapada dentro de uma string"
Número[]
Um número é definido ao digitar qualquer número. Os números podem ser não inteiros, conforme indicado por um ponto, e podem usar expoentes com e
.
2
-0.5
3e6
(=3×106)
Objeto[]
Um objeto, também conhecido como composto, é delimitado abrindo e fechando chaves e contém pares de chave/valor. Os pares são separados por vírgulas, as chaves e os valores associados são separados por dois pontos. Cada chave contida precisa ter um nome exclusivo dentro do objeto. Um valor também pode ser de qualquer tipo de dados (inclusive outro objeto).
{
"Bob": {
"ID": 47182,
"lastName": "Ramsay"
},
"Alice": {
"ID": 47183,
"lastName": "Berg"
}
}
Array[]
Os arrays são delimitados abrindo e fechando colchetes e podem conter valores de qualquer tipo de dados, separados por vírgulas. Ao contrário das listas em NBT, os valores em um array JSON podem usar diferentes tipos de dados.
["Bob", "Alice", "Carlos", "Eve"]
Booleano[]
Um booleano pode ser true
ou false
(verdadeiro ou falso).
{
"Alice": {
"isMale": false
},
"Bob": {
"isMale": true
}
}