使用AutoHotkey生成JSON对象

时间:2016-02-26 15:52:43

标签: json autohotkey

我有很多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}。

之类的东西保留它们

我该如何解决这个问题?

2 个答案:

答案 0 :(得分: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.

答案 1 :(得分:0)

使用SendRaw:

>>> lst = [sorted(i) for i in lst]
>>> lst
[[1, 2, 3, 4], [5, 7, 8, 9], [0, 1, 2, 3, 9]]

另外,请看一下:https://stackoverflow.com/a/33989043/2879085