xshell 生成json

xshell 生成json

我最近在折腾接口调试,生成发现一个特别蠢的生成痛点:每次在xshell里连服务器,想快速构造一个json请求体,生成都得手动敲大括号、生成冒号、生成引号,生成稍不留神就漏个逗号,生成整个格式直接崩。生成后来我琢磨出一套“xshell直接生成json”的生成野路子,用起来那叫一个痛快。生成

先说最笨但最实用的生成办法——用xshell的“发送键输入”功能配合剪贴板。你先把json模板存在本地记事本里,生成比如{ "name":"test",生成"age":25},然后在xshell的生成“编辑”菜单里找到“粘贴”旁边的下拉箭头,选“发送所选文本”。生成这招只解决粘贴问题,不解决生成问题。真正提效的是下面这个。

我写了个小脚本,扔在服务器上,xshell里敲一个别名就能调。脚本内容很简单,用python的json模块接收你传的参数,自动格式化输出。比如你在xshell里输入mkjson name=张三 age=30 city=北京,它返回的就是标准json。这方法治标又治本,因为xshell本质就是个终端,你完全可以利用服务器端的工具链,把“生成”这件事外包给python或jq。

但如果你不想碰服务器,纯靠xshell客户端本身呢?也行。xshell有个“快速命令”面板,你能把一段脚本绑定到按钮上。我绑了个“JSON格式化”按钮,内容是调用本地的python(前提是你电脑装了python)。选中一串乱糟糟的键值对,点一下按钮,xshell直接调起系统python,把选中文本转成缩进整齐的json输出到同一终端里。这操作看着像魔术,其实原理就是xshell允许你自定义外部命令。

有个细节特容易踩坑:xshell的“快速命令”默认不继承环境变量。我第一次配的时候,脚本里写了python3,结果按钮点了没反应,后来才发现它走的是系统默认shell,路径里没找到python3。改成绝对路径C:\Python39\python.exe才消停。所以如果你照着我这招弄,记得把解释器路径写死。

再说个更偷懒的。我平时调试restful接口,需要带token,json里有个字段每次都要换。我就在xshell的“变量”功能里定义了个$token,然后快速命令的脚本内容写成echo { "auth":"$token","data":"test"}。每次换token,只需改xshell那个变量值,点一下按钮,json就带新token生成好了。这招省了至少80%的手工拼接时间。

有人可能会问,直接用postman不香吗?香,但xshell强在“服务器环境内就地生成”。比如你在服务器上tail一个日志,发现有个字段值需要拼进json做下一步请求,你切到postman还得复制来复制去,在xshell里直接敲个命令、调个脚本,原地就把json打出来,然后配合xshell的“复制”快捷键,秒进下一个请求。这种“终端内闭环”的流畅感,是图形化工具体验不到的。

最后提醒一句:别把json生成搞成重活。如果字段超过七八个,或者嵌套层级深,老老实实用python脚本文件,别硬塞进xshell的快速命令里。终端里写长脚本容易乱,而且xshell的快速命令面板对多行支持一般,我试过粘贴多行代码,缩进全丢了。简单键值对用上面的招,复杂结构就写个.py放服务器上,xshell里敲python3 gen.py,一样是“在xshell里生成json”。工具是死的,思路是活的——核心就是别把xshell当纯连接器用,它其实是个能跑命令的“半本地终端”。