JSON(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级数据交换格式。[1]
Minecraft使用JSON来储存以下数据:
- 在成书、告示牌、自定义名称以及
/tellraw
、/title
[仅Java版]、 /titleraw
[仅基岩版]和 /bossbar
[仅Java版]命令里的文本。 - 描述Java版中资源包和数据包的
pack.mcmeta
文件。 - 描述基岩版附加包的
manifest.json
。 - 在资源包里定义模型、声音事件和UI
[仅基岩版]的文件。 - 在行为包中定义实体行为的文件。
- 成就和统计(例如
.minecraft/saves/*/data/stats/*.json
)。 - 用于启动器的档案数据(例如
.minecraft/launcher profiles.json
)。 - 关于已下载的版本的信息(例如
.minecraft/versions/<VERSION>/<VERSION>.json
)。 - 在数据包中定义进度、战利品表、标签、配方、维度、维度类型和谓词的文件。
[仅Java版]
语法[]
JSON文件必须始终包含用于封装文件数据的大括号。虽然JSON可以写在一行内,但是一般为了可读性会加入缩进和换行。
{
"string": "Hi",
"number": 1,
"object": {"stuff": "foobar", "digit": 13},
"array": ["spam", "foo"]
}
JSON文件内所有元素的名称必须用引号引起。要定义值,便需要在名称后面添加一个冒号,并在冒号后写上值。
{
"name": "value"
}
除了最后一个元素,所有包含在对象或数组中的元素需要在它们的值后面添加一个逗号。
数据类型[]
JSON中有5种不同的有效数据类型:字符串(string)、数值(number)、对象(object)、数组(array)和布尔值(boolean)。
字符串[]
字符串由双引号定义,可以包含任何字符或空格的组合。
{
"foo": "bar",
"spam": "eggs"
}
数值[]
数值由输入的任何数字定义。
{
"two": 2,
"one": 1,
"second": 1
}
对象[]
对象由一对大括号定义,且可以包含其他数据类型。文件开头和结尾处的大括号会组成一个对象。
{
"Bob": {
"ID": 47182,
"lastName": "Ramsay"
},
"Alice": {
"ID": 47183,
"lastName": "Berg"
}
}
数组[]
数组由一对中括号定义,且同样可以包含其他数据类型。
{
"people": ["Bob", "Alice", "Carlos", "Eve"]
}
布尔值[]
布尔值使用“true”(真)或“false”(假)定义。
{
"Alice": {
"isMale": false
},
"Bob": {
"isMale": true
}
}
参考[]
语言