JSON
(JavaScript Object Notation)是一种数据存储格式,文件后缀名为 .json
,可使用文本编辑器编辑(请使用 UTF-8 无 BOM
编码)
通常情况下,JSON
文件可以包含一个数组或是一个对象,以下是一个普通的 JSON
文件格式
JSON
对象以{
(半角左大括号)开始,以}
(半角右大括号)结束JSON
对象本质是“键/值”对的无序集合,当值是字符串时,内部每一个元素的基本格式为"键":"值"
- 每一个元素之间以半角逗号
,
隔开
注:最后一个元素的结尾不能加
,
以下是一个普通例子
{
"键1": "值1",
"键2": "值2"
}
注:仅制作资源替换 mod 的话以上内容已经足够,以下内容仅帮助更深入理解
JSON
JSON
为递归定义,可以包含以下六种类型的数据:
- 字符串,内容由一对半角双引号
""
包裹。使用例:"我是字符串内容"
- 数字。使用例:
114514
- 布尔值,只能为
true
或false
- 空值:
null
(一般用不到 - 数组,内容由一对半角中括号
[]
包裹,可包含0个到多个元素,元素之间有序,使用半角逗号,
分割,每个元素都可为六种数据类型的任意一种。使用例:["我是数组", 123, true, null]
- 对象,内容由一对半角大括号
{}
包裹,可包含0个到多个键值对(key-value pair)元素,元素之间无序,使用半角逗号,
分割,键是一个字符串,值为六种数据类型的任意一种,键和值之间用半角冒号:
分割,同一对象的键不可重复。使用例:
{
"我是键": "我是值",
"the answer to life, the universe, and everything": 42,
"我 吃 我 自 己": {
"键必须由双引号包裹": [
"数组也可以包含数组或对象",
{
"就像": "这样"
}
]
},
"字符串内容包含双引号时需要转义": "写成\"(要使用半角反斜杠)",
"包含反斜杠时也需要转义": "写成\\(两个半角反斜杠)",
"末尾逗号": false
}
注: 虽然名为 javascript
对象声明,但与 javascript
中的对象声明仍有区别:
- 键必须由双引号包裹,不能不写引号或写单引号
- 同一对象的键不应重复
- 不可包含尾逗号
- 不可包含注释
- 没有骚操作,什么计算表达式,
getter
/setter
,__proto__
,其它数据类型,统统不存在的
若仍想继续了解,可以参考 json.org