第189章 ,/.

答案是可以的。

我们可以将多个JSON文本对象排成一个阵列,组成一个JSON文本对象列表。

什么是列表?顾名思义,就是将各种东西列在一起的表格。在JSON中,列表内的内容一般都是相同类型,比如都是小数,都是整数,都是字符串,内容与内容之间用英文半角逗号分开,外侧用中括号包裹起来,这样子就形成了一个JSON列表。

比如下面就是一个全都是整数的JSON列表:

[1,2,3,4,5,6]

那既然列表内可以放数字,那能不能放字符串、布尔值,甚至是JSON对象呢?

答案也是可以的。

比如下面这样子:

[{“text“:“Hello“,“color“:“blue“},{“text“:“Minecraft“,“color“:“black“},“Launcher“]

JSON文本在解析的时候,会按照我们正常人所认为的顺序,即从左到右解析。这样子就可以实现Hello是蓝色,Minecraft是黑色,Launcher是蓝色。

等等,为什么Launcher是蓝色而不是白色?

因为在一个JSON列表中,列表前面的JSON对象定义了文本颜色,这个颜色就会传递下去,就算中途有其他对象使用了color改变了其他颜色,也只是作用在这个对象内,下一个对象还是使用这个颜色。文本格式也是一样的道理。

现在就没什么问题了吧?

需要注意一下,Java1.9版本之前的JSON,组件名不需要额外加括号,也就是说在Minecraft Java1.8版本,你可以直接这样子:

{text:“Hello Minecraft“}

Java JSON历史:

1.7.2——加入了/tellraw,第一次有指令支持了JSON

1.8——加入了使用JSON的/title。告示牌和成书也开始使用JSON文本。

1.13——自定义名称使用了JSON文本。加入了name参数使用JSON的/bossbar指令。

1.14——物品描述标签支持JSON文本。

1.16——color可以使用HTML十六位颜色码来更改文本颜色(需要注意这个功能是这时候才添加的)。

......

......

......

As we know ,we can't type § into the chatbox. So can we type the Unicode of § into the chatbox?

The answer to the question is no.

So can we type it by using tellraw?

I can say, the way is feasible in Minecraft Java 1.12.2.

Now, let us run Minecraft Java 1.12.2, and create a new world in creative mode.Remember to allow cheats.

After the world was created ,please run the following mand:

小主,

/give @s mand_block

I'm sure that you must have a mand block now.Please set it on the ground.

Right click to open the GUI,then enter the following mand:

/tellraw @p {“text“:“\u00a7bHello Minecraft“}

Click the Done button to return the game.Take a lever out of your bag.Set it next the mand block.

Now let's pull the lever.The moment the lever is pulled, a line of light blue text appear surprisedly! Yes, as you looked, we can use the Unicode of § in JSON Text! Have you learned it?

If you want to learn about it more, please search “在原版中更改任意文字颜色“ in MCBBS.You will find a post by a great mand veteran in 2015.