使用 AutoHotkey 生成 JSON 个对象
Using AutoHotkey to Generate JSON Objects
我有很多 JSON 消息,我必须在 cmd 控制台中重复推送以进行测试。使用灵活的热键来推送测试场景消息 #1、#2 等而不是重新复制和重新粘贴会很方便。
我要推送的单行 JSONs 采用这种通用格式:
//Case1 - message is perfectly formated blah blah
{"field1":"case1Data1","field2":"case1Data2","field3":"case1Data3"..."field12":"case1Data12"}
//Case2 - message has an empty field3 or something blah blah
{"field1":"case2Data1","field2":"case2Data2","field3":""..."field12":"case2Data12"}
//CaseN - message is test scenario N (you get the patterN)
{"field1": "caseNData1",....}
Autohotkey 在初始化我的测试环境(打开我的 shell,启动我的各种 kafka 主题等)方面非常有帮助。要是用它来推送 JSONs 就这么简单就好了:
;Test Message #1
;Enter a base json here
;Windows+Ctrl+1
#^1::
Send,{"field1":"data1","field2":"data2","field3":"data3"..."field12":"data12"}
Return
问题当然出在 {} 上。 Autokey 为 {enter} 之类的东西保留它们。
我该如何解决这个问题?
您使用 {{} 和 {}}。
这部分请参阅 https://autohotkey.com/docs/commands/Send.htm:
Key Names:下面table列出了可以发送的特殊键(每个键名必须用大括号括起来):
Key Name Resulting Keystroke
{F1} - {F24} Function keys. For example: {F12} is the F12 key.
{!} !
{#} #
{+} +
{^} ^
{{} {
{}} }
{Enter} ENTER key on the main keyboard
etc.
使用 SendRaw:
;Test Message #1
;Enter a base json here
;Windows+Ctrl+1
#^1::
SendRaw,{"field1":"data1","field2":"data2","field3":"data3"..."field12":"data12"}
Return
另外,看看这个:
我有很多 JSON 消息,我必须在 cmd 控制台中重复推送以进行测试。使用灵活的热键来推送测试场景消息 #1、#2 等而不是重新复制和重新粘贴会很方便。
我要推送的单行 JSONs 采用这种通用格式:
//Case1 - message is perfectly formated blah blah
{"field1":"case1Data1","field2":"case1Data2","field3":"case1Data3"..."field12":"case1Data12"}
//Case2 - message has an empty field3 or something blah blah
{"field1":"case2Data1","field2":"case2Data2","field3":""..."field12":"case2Data12"}
//CaseN - message is test scenario N (you get the patterN)
{"field1": "caseNData1",....}
Autohotkey 在初始化我的测试环境(打开我的 shell,启动我的各种 kafka 主题等)方面非常有帮助。要是用它来推送 JSONs 就这么简单就好了:
;Test Message #1
;Enter a base json here
;Windows+Ctrl+1
#^1::
Send,{"field1":"data1","field2":"data2","field3":"data3"..."field12":"data12"}
Return
问题当然出在 {} 上。 Autokey 为 {enter} 之类的东西保留它们。
我该如何解决这个问题?
您使用 {{} 和 {}}。
这部分请参阅 https://autohotkey.com/docs/commands/Send.htm:
Key Names:下面table列出了可以发送的特殊键(每个键名必须用大括号括起来):
Key Name Resulting Keystroke
{F1} - {F24} Function keys. For example: {F12} is the F12 key.
{!} !
{#} #
{+} +
{^} ^
{{} {
{}} }
{Enter} ENTER key on the main keyboard
etc.
使用 SendRaw:
;Test Message #1
;Enter a base json here
;Windows+Ctrl+1
#^1::
SendRaw,{"field1":"data1","field2":"data2","field3":"data3"..."field12":"data12"}
Return
另外,看看这个: