灰机Json编辑器是一个辅助编辑Json的工具,需要配合模块MongoDBSMongo来使用这些数据。

创建Schema

于Data命名空间(3500),以Data:xxxx.schema创建新内容,以默认内容保存即可创建新的Schema。

修改Schema

访问一个Schema页面时,将会加载灰机Json编辑器,通过“编辑Schema”功能,即可修改和调整Schema的配置。

如果不希望Schema可以被普通用户编辑,可以通过保护的方式进行锁定。

Schema中,根节点表示最终生成Json文件的第一层级,块则是定义Object的格式。块可以嵌套,但不可循环嵌套。

修改后可以通过“验证定义”的方式来确认是否有问题。

编辑Json

在灰机Json编辑器中可以通过“编辑Json”功能来按照Schema的定义创建或编辑Json文件。

编辑时

  • 源Json有没被Schema定义的节点的情况,不会被删除
  • 如果被Schema定义的节点,但源Json已有不同类型的值时,会被重置为默认值(一般为空)。

创建的Json除了Schema定义的字段外,在根节点会有额外的_hjschema属性,该属性表示该文件是由哪个Schema文件创建或最后编辑过。

根节点拥有_hjschem属性的Json文件,会在action=view时出现“通过 HuijiJsonEditor 编辑”按钮,点击后会跳转到_hjschem属性所指的Schema页面进行编辑。

在Schema页面可以添加地址参数?target=<pagename>来编辑一个Data命名空间下的.json条目。

更新历史

v1.4.4(2023年3月19日)

  • 移除了保存条目时,目标条目的条目名输入按键限制,改为在保存时检查条目名的合法性。该限制会导致无法使用粘贴功能

v1.4.2(2023年3月16日)

  • 添加了Select Number,Radio Number,Checkbox Number三个控件,以对应形式进行选择,但值为数字
  • 优化了样式和控件布局

示例

演示

Schema danteng:Data:演示.schema
数据页面 danteng:Data:小和尚.json

这是一个为了展示本工具功能特意编写的演示,示例生成一个类似游戏角色的Schema,并通过该Schema生成了一个测试数据

FF14手工副本数据

Schema ff14:Data:Instance.schema
数据页面 ff14:Data:Instance/36001.json
使用数据的页面 ff14:多变迷宫_希拉狄哈水道

最终幻想XIV维基中大部分副本的数据来自于抓取官方网站进行整理,但也有一些特殊的副本并无可抓取的来源,需要编辑手工制作,该Schema用于协助编辑手工编写副本数据页。