脚本范例:
新增高效率JSON命令扩展新NPC命令写法: 添加NPC命令JSON,操作JSON的字符串,格式:JSON 标识|存活时间 子命令 名称 数值
!可以使用VSCode(安装json扩展插件,json格式化插件)查看编辑json文件。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
各个参数意义:
1) 标识,类似自由变量,指定一个唯一标识,“|”号后面是此对象的存活时间(秒),-1表示永久,
不写存活时间默认是180秒,即180秒后,此标识的JSON对象会被释放。
2) 子命令,有以下几种:
InitJsonFromFile 文件名 //从Json文件初始化
SaveToJsonFile 文件名 //保存到Json文件
InitJson Json字符串 //从给定的Json字符串初始化
InitFrom 其他标识.路径 //从其他标识.路径下的Json初始化,相当于复制,“.路径”可选
InitArrayFromCsv Csv字符串 //从给定的Json数字字符串初始化为Json数组
InitArrayFromCsvFile 文件名 //从给定的Csv文件初始化为Json数组
ToCsv S变量 //保存Csv字符串到S变量中,只能是数组对象才能保存为Csv字符串
SaveToCsvFile 文件名 //保存到Csv文件,只能是数组对象才能保存为Csv文件
SortByName //按名称排序
SortByValue //按数值排序
Clear //清理
DeleteByName 名称 //按名称删除
DeleteByPath 路径 //按路径删除
AddValue 名称 数值 //添加数值,数值可以是普通的字符串、整数、浮点数等,或者是一个标准的Json对象或数字(字符串形式)
AddOrUpdateValue 名称 数值 //添加或更新数值(存在则更新,否则添加),其他同上
SetValueByPath 路径 数值 //按路径设置数值(不存在则创建,否则更新)
AddOrUpdateObject 源标识 0/1 //从其源标识添加或更新到目标标识(参数2)的Json中,0只添加目标标识不存在的项,1目标标识里存在则会更新该项
GetCountByPath M变量 路径 //获取节点数量,当路径为空时,获取标识下的json的基层节点数到M变量,否则获取路径下对象或数组的节点数到M变量
3) 名称,类型是字符串
4) 数值,有以下几种类型:
整数 12345678
字符串 普通字符串
布尔值 True|False
浮点数 1.367
日期时间 "2018-11-12 06:12:11" 或 "2018-11-12T06:12:11.123",“.”后面指的是毫秒
数组 ["string",100,null,true,false,123.4]
对象 {"name":"ObjectName","value":"ObjectValue"}
注意:数值最好不要有空格,如果必须带空格,请使用双引号""包围起来以表示为1个参数