通过Alfred一键格式化剪贴板中的JSON

之前的做法

经常要请求网络 进行服务端联调,Server返回有部分json,我们要快速知道对方json里特定字符串数据。通用做法就是复制出来结果,然后到特定网站上格式化一下,然后拿出来看一下,找到特定位置。。等等。

存在的问题

  • 剪贴板中有包含其他除了JSon的部分(需要通过脚本过滤出JSon字符串)
  • 找到json部分 需要格式化一下(美观、好查、方便 快捷)

解决方案

百度了下找到了有人类似的解决方法如下:


image

思路分两步。

  • 第一步拿到剪贴板的数据,抽到JSon字符串 再扔进剪贴板
    具体抽取方法 从整个剪贴板中 找到第一个 “{" 再找到最后一个 “}”

  • 再对剪贴板的数据进行快速格式化

alfred操作步骤

image.png

至于alfred是啥 不做多介绍。可以定义快捷键直接一键操作 不用大动干戈,执行脚本等。

第一步脚本如下:

import sys
import os
import subprocess

p = subprocess.Popen(['pbpaste'], stdout=subprocess.PIPE)
retcode = p.wait()
data = p.stdout.read()
firstBrace = data.index("{")
lastBrace = data.rindex("}") + 1
strNeedFormatter = data[firstBrace:lastBrace]
p = subprocess.Popen(['pbcopy'], stdin=subprocess.PIPE)
p.stdin.write(strNeedFormatter)
p.stdin.close()
p.communicate()

第二步脚本如下:(直接将剪贴板的数据格式化 再扔进剪贴板)

#!/usr/bin/env bash
pbpaste | python -m json.tool  > temp.txt
cat temp.txt | pbcopy

最后得到的效果

从剪贴板复制任意包含json的,按一下快捷键 剪贴板的内容神奇的发生了变化(已经去除无用内容,并且已经格式化) 目前暂定快捷键是 ctrol+option+comoand+j.

alfred下载地址

祝你好运!!一键格式化
http://p1yfcnlay.bkt.clouddn.com/formatterClipboardJson.alfredworkflow

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,868评论 18 139
  • 用到的组件 1、通过CocoaPods安装 2、第三方类库安装 3、第三方服务 友盟社会化分享组件 友盟用户反馈 ...
    SunnyLeong阅读 14,659评论 1 180
  • 使用强制力的目的是为了保护自己和他人,是为了避免伤害,而不是惩罚他人。如果冲突的双方都能充分表达观察、感...
    4721063929e0阅读 908评论 1 0
  • 和老妈一起坐地铁玩儿グッ!(๑•̀ㅂ•́)و✧年纪大了,需要别人帮助他们找到点乐趣,我们长大了。
    sakurakang1993阅读 75评论 0 0
  • 几点感受 中小公司简历通知的概率蛮高的,大公司依然对简历保持爱理不理,很难约到面试,普通公司的背景决定了很难收到大...
    status阅读 799评论 0 4