Skip to content

JSON 语法基础

本篇作者:pardon

本教程所说的“JSON 模组”实际使用的是一种更宽松的方言——Hjson。标准 JSON 的规则可以用来理解结构,但 Mindustry 实际接受更多写法。


JSON 到底是什么?

你可以把 JSON 简单理解成 一张“填好的表格”。

比如下面这段 JSON 代码:

json
{
  "name": "田所浩二",
  "age": 24,
  "isStudent": true
}

它对应的表格就是:

姓名田所浩二
年龄24
学生

所以,写 JSON 本质上就是在填表格——

冒号 左边 是 键(key),相当于表格里的“项目名称”(如姓名、年龄);

冒号 右边 是 值(value),也就是我们要填写的“具体内容”。


值的类型有哪些?(⚠️ 重点!)

JSON 里的“值”只能是以下 6 种类型,没有别的花样:

类型举例说明
数字1、1.7、-3不区分整数和小数
布尔true 或 false只有这两个,不能加引号
字符串"你好"、"hello"必须用双引号包裹
对象用花括号 {} 包裹
数组[1, 2, 3]用方括号 [] 包裹
nullnull表示“空”,单独一类

Mindustry 中字符串转布尔时,只有 "true" 会被当作 true,其余字符串(如 "1"、"yes")都会变成 false;这虽然不会像 JavaScript 一样把 "false" 反转为 true,但仍可能造成与预期不符的结果。


括号问题也要注意

JSON 使用两种括号:

  • 花括号 {} 用来包裹 对象(即一组键值对)
  • 方括号 [] 用来包裹 数组(即一组有序的值)

使用括号时,必须成对出现,而且不能混用。常见错误包括:

错误写法正确写法说明
{"name": "张三"缺少右花括号
["a", "b"["a", "b"]缺少右方括号
[[{"name": "张三"}]对象和数组嵌套时必须按顺序各自闭合

这些错误这样直接摆出来,看上去很明显.

但如果代码和括号嵌套比较多的话,肉眼还是不太容易观察出来的.

这也就是为什么我们不推荐你使用文本编辑器。