【问题标题】:Using AutoHotkey to Generate JSON Objects使用 AutoHotkey 生成 JSON 对象
【发布时间】:2016-06-09 22:19:33
【问题描述】:

我有许多 JSON 消息,我必须在 cmd 控制台中重复推送以进行测试。使用灵活的热键来推送测试场景消息#1、#2 等会很方便,而不是重新复制和重新粘贴。

我推送的单行 JSON 采用这种通用格式:

//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 主题等)方面非常有帮助。如果它使用它来推送 JSON 就像这样简单:

;Test Message #1
;Enter a base json here
;Windows+Ctrl+1
#^1::
Send,{"field1":"data1","field2":"data2","field3":"data3"..."field12":"data12"}
Return

问题当然出在 {} 上。 Autokey 为 {enter} 之类的东西保留它们。

我该如何解决这个问题?

【问题讨论】:

标签: json autohotkey


【解决方案1】:

您使用 {{} 和 {}}。

这部分请见https://autohotkey.com/docs/commands/Send.htm

密钥名称:下表列出了可以发送的特殊密钥(每个密钥名称必须用大括号括起来):

Key Name        Resulting Keystroke
{F1} - {F24}    Function keys. For example: {F12} is the F12 key.
{!}             !
{#}             #
{+}             +
{^}             ^
{{}             {
{}}             }
{Enter}         ENTER key on the main keyboard

etc.

【讨论】:

    【解决方案2】:

    使用 SendRaw:

    ;Test Message #1
    ;Enter a base json here
    ;Windows+Ctrl+1
    #^1::
    SendRaw,{"field1":"data1","field2":"data2","field3":"data3"..."field12":"data12"}
    Return
    

    另外,看看这个:https://stackoverflow.com/a/33989043/2879085

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-03
      • 2015-10-05
      • 2016-04-30
      • 2020-06-08
      • 1970-01-01
      • 2016-02-18
      相关资源
      最近更新 更多