Keyboard Maestro的WIKI写得实在是简略,相关的论坛中的讨论也不是很多。
我想要实现的功能很简单:
根据用户填写的表单,获取了多个变量值,将变量名、变量值、标题组成一个对象,将多个对象写入JSON中 看文字描述很抽象,直接上图!
↑这是用户要填的数据。
[
{
"名称": "Hugo博客",
"是否选择": "1",
"任务期限": "3"
},
{
"名称": "小红书",
"是否选择": "1",
"任务期限": "3"
},
{
"名称": "B站",
"是否选择": "1",
"任务期限": "3"
},
{
"名称": "Youtube",
"是否选择": "",
"任务期限": "3"
}
]
↑这个是要得到的数据。
WIKI中关于JSON
的内容相当简略,刚开始完全没有搞懂Variables
、JSON
与相关的Set Variables to JSON
、Set JSON Value
、Set Variable to Text
之间的关系。
经过仔细研究,终于搞定了!最终的解决方式如下:
- 利用
Set Variable to Text
将多个变量,按照JSON的格式写入指定变量中
需要注意的是:
要按照JSON的格式来写,由于我希望按照输入的顺序进行索引,所以这里写成了
[{},{}]
的数组形式,每个对象都会成为数组的一个元素,它们的顺序就会保持一致。当你需要访问特定对象时,可以通过数组的索引来获取。要注意核实标点是否是英文!
键名应该使用双引号
"
包裹。
- 调用数据时可以有多种方式:
%Variable%LocalJSON%
得到是文本,如下:
[
{
"名称": "Hugo博客",
"是否选择": "1",
"任务期限": "3"
},
{
"名称": "小红书",
"是否选择": "1",
"任务期限": "3"
},
{
"名称": "B站",
"是否选择": "1",
"任务期限": "3"
},
{
"名称": "Youtube",
"是否选择": "",
"任务期限": "3"
}
]
%JSONValue%LocalJSON%
得到的JSON数据,如下:
[{"任务期限":"3","名称":"Hugo博客","是否选择":"1"},{"任务期限":"3","名称":"小红书","是否选择":"1"},{"任务期限":"3","名称":"B站","是否选择":"1"},{"任务期限":"3","名称":"Youtube","是否选择":""}]
%JSONValue%LocalJSON.1%
得到的是单个对象,如下:
{"任务期限":"3","名称":"Hugo博客","是否选择":"1"}
%JSONValue%LocalJSON.1.名称%
得到的是单个元素,如下:
Hugo博客
总结: 以JSON的格式写入变量中,用JSON的方式调用即可!特别要注意JSON的格式要规范!