MysticNebula70(留言 | 贡献) 无编辑摘要 |
(放在前面好像是在说“只有标签”) 标签:源代码编辑 |
||
(未显示4个用户的6个中间版本) | |||
第1行: | 第1行: | ||
− | [[wzh:JSON|JSON]](JavaScript Object Notation,JavaScript对象表示法)是一种轻量 |
+ | [[wzh:JSON|JSON]](JavaScript Object Notation,JavaScript对象表示法)是一种轻量级数据交换格式。<ref>https://www.json.org/json-zh.html</ref> |
Minecraft使用它来储存以下数据: |
Minecraft使用它来储存以下数据: |
||
− | * 在[[成书]]、[[告示牌]]、自定义名称以及{{cmd|tellraw}}、{{cmd|title}}和{{cmd|bossbar}}{{only|java}}命令里的[[原始JSON文本|文本]]。 |
+ | * 在[[成书]]、[[告示牌]]、自定义名称以及{{cmd|tellraw}}、{{cmd|title}}{{only|je}}、{{cmd|titleraw}}{{only|be}}和{{cmd|bossbar}}{{only|java}}命令里的[[原始JSON文本|文本]]。 |
* 描述Java版中[[资源包]]和[[数据包]]的<code>pack.mcmeta</code>文件。 |
* 描述Java版中[[资源包]]和[[数据包]]的<code>pack.mcmeta</code>文件。 |
||
* 描述基岩版[[附加包]]的<code>manifest.json</code>。 |
* 描述基岩版[[附加包]]的<code>manifest.json</code>。 |
||
* 在资源包里定义[[模型]]、[[sounds.json|声音事件]]和UI{{only|bedrock}}的文件。 |
* 在资源包里定义[[模型]]、[[sounds.json|声音事件]]和UI{{only|bedrock}}的文件。 |
||
− | * 在行为包中定义[[基岩版beta实体组件文档 |
+ | * 在行为包中定义[[基岩版beta实体组件文档|实体行为]]的文件。 |
* [[成就]]和[[统计]](例如<code>.minecraft/saves/*/data/stats/*.json</code>)。 |
* [[成就]]和[[统计]](例如<code>.minecraft/saves/*/data/stats/*.json</code>)。 |
||
* 用于[[minecraft启动器|启动器]]的[[launcher profiles.json|档案数据]](例如<code>.minecraft/[[launcher profiles.json]]</code>)。 |
* 用于[[minecraft启动器|启动器]]的[[launcher profiles.json|档案数据]](例如<code>.minecraft/[[launcher profiles.json]]</code>)。 |
||
* 关于已下载的[[版本]]的信息(例如<code>.minecraft/versions/<VERSION>/[[client.json|<VERSION>.json]]</code>)。 |
* 关于已下载的[[版本]]的信息(例如<code>.minecraft/versions/<VERSION>/[[client.json|<VERSION>.json]]</code>)。 |
||
− | * 在数据包中定义[[成就]]、[[战利品表]]和[[标签]]{{only|java}} |
+ | * 在数据包中定义[[成就]]、[[战利品表]]和[[标签]]的文件。{{only|java}} |
== 语法 == |
== 语法 == |
||
− | JSON文件必须始终包含用于封装文件数据的大括号。 |
+ | JSON文件必须始终包含用于封装文件数据的大括号。虽然JSON可以写在一行内,但是一般为了可读性会加入缩进和换行。 |
<syntaxhighlight lang="json"> |
<syntaxhighlight lang="json"> |
||
{ |
{ |
||
第32行: | 第32行: | ||
=== 数据类型 === |
=== 数据类型 === |
||
− | JSON中有5种不同的数据类型:字符串(string)、数值(number)、对象(object)、数组(array)和布尔值(boolean)。 |
+ | JSON中有5种不同的有效数据类型:字符串(string)、数值(number)、对象(object)、数组(array)和布尔值(boolean)。 |
==== 字符串 ==== |
==== 字符串 ==== |
||
第53行: | 第53行: | ||
</syntaxhighlight> |
</syntaxhighlight> |
||
− | ==== 对象 ==== |
+ | ==== {{tr|对象|物件}} ==== |
− | 对象由一对大括号定义,且可以包含其他数据类型。文件开头和结尾处的大括号会组成一个对象。 |
+ | {{tr|对象|物件}}由一对大括号定义,且可以包含其他数据类型。文件开头和结尾处的大括号会组成一个{{tr|对象|物件}}。 |
<syntaxhighlight lang="json"> |
<syntaxhighlight lang="json"> |
||
{ |
{ |
||
第88行: | 第88行: | ||
} |
} |
||
</syntaxhighlight> |
</syntaxhighlight> |
||
+ | |||
+ | == 参考 == |
||
+ | {{reflist}} |
||
+ | |||
+ | [[Category:开发]] |
||
[[de:JSON]] |
[[de:JSON]] |
2021年9月27日 (一) 21:23的版本
JSON(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级数据交换格式。[1]
Minecraft使用它来储存以下数据:
- 在成书、告示牌、自定义名称以及
/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
}
}