首先贴出飞跃大佬的函数本体链接
上午考虑使用json作为配置文件,简单研究了一下超级命令的调用json的方法做个小笔记
具体的写法和本体分别来自超级命令和飞跃老哥
g_config.key_open_search_box通过这样的对象中的值取出的格式就可以取出json配置文件中的值了,其实使用上和easyini是很像的
#include json.ahk
global g_json_path := "settings.json"
global g_config := {}
if(!loadconfig(g_config))
{
MsgBox,% "Load config" g_json_path " failed! will exit!!"
ExitApp
}
MsgBox,% g_config.key_open_search_box
loadconfig(ByRef config)
{
Global g_json_path
config := ""
FileRead, OutputVar,% g_json_path
config := json_toobj(outputvar)
if(config == "")
return false
return true
}
可以调用js的函数来实现json转对象、 ;利用js解析json字符串,这里的key可以没有双引号,{a:100} result.a取出值 parseJsonStr(jsonStr) { ;对引号转义 StringReplace, jsonStr, jsonStr, `” ,“”,replaceAll oSC := ComObjCreate(“ScriptControl”) oSC.Language := “JScript” Script := “var Encoded = eval(” “‘(‘+” “””” . jsonStr . “””” “+’)'” “)” oSC.ExecuteStatement(Script) Return, oSC.Eval(“Encoded”) }