对于一个软件开发人员, JSON 是最熟悉的东西之一了, 每一个开发人员基本上每一天都会跟 JSON 打交道.

作为一个大前端开发人员, 当看到从服务器返回的 JSON 数据时, 尤其是大数据量或者复杂数据结构需要解析时, 我经常会长叹一声, "唉!"

这时候, 我通常会打开自己收藏的 JSON 在线解析工具, Paste and Parse. 这样不仅多了在不同应用或者网页之间跳转的麻烦, 不要忍受数不尽的亮瞎眼的广告. 不仅累, 而且影响心情.

为什么不能不用离开 IDE, 不用打开浏览器, 不用打开新的网页就可以查看 JSON 结构呢?

为什么不能在同一个 IDE 窗口里面就可以查看格式化的 JSON, 甚至 XML/YAML/CSV 格式呢?

为什么不能在查看过格式化 JSON 之后, 就可以生成对应的 Java/Kotlin/Dart 文件呢?

更甚至, 为什么不能我不需要请求接口之后将返回结果 Copy & Paste & Parse 才能查看, 而不是我直接将请求链接跟参数输入之后, 可以直接将返回结果解析呢?

带着这样的疑虑, 再基于自身开发并部署IDEA插件的经验, 我决定自己写一个 Json Master 插件. 没错, 就是 Json Master masters JSON 的意思. 它所能做的事件, 全部都跟 JSON 有关.

Json Master 这个名字是我思考良久, 在一次晚上绕小区压马路的时候, 灵激一动想出来的名字. 想到这个名字的时候, 内心一阵窃喜, 哈哈.

再想, 它需要提供哪些功能?

  • 格式化 JSON 数据起码要有. 这个是最基本的功能. 如果输入的数据有误, 还应该提示是输入的哪个位置有问题. 这个可以作为一个插件项目的近期目标.
  • 可以将 JSON 输入成 XML/YAML/CSV 格式. 这个是偶然间我在一个有诸多广告的 JSON 在线解析的网站上遇到的. 我觉着可以添加进来. 这个可以作为一个中期目标.
  • 以及, 查看过 JSON 格式之后, 是不是可以直接生成 Java/Kotlin/Dart 文件呢? 这个也是很实用的功能.
  • 再者, 再远期一点, 是不可以输入地址跟参数, 直接解析拦截到的服务器 JSON 响应, 就像 Postman 一样?

经过两个多月的构思, 以及利用周末的时间, Json Master 插件项目终于可以发布上线了.

我把它开源到了Github 上, 项目的地址在: JsonMaster.

线上版本目前只支持初期的目标, 也就是查看格式化 JSON 字符串.

它长这个样子:

目前 Github 上面的代码已经支持 XML/YAML/CSV/Properties 格式转换, 只是还没有发布.

中期的规划是: 添加从 JSON 生成 Java/Kotlin/Dart 类.

远期的功能规划是: 拦截网络请求, 格式化 JSON 响应.

最后, 开源不易, 尤其是对于全职的开源爱好者. 需要占用不少下班以及周末时间. 如果您觉着这个项目是值得做的, 是做的有意义的, 可以通过以下方式来表达支持:

  • Share/Recommend this plugin(JsonMaster) to your friends/work mates. 向朋友或者同事推荐该插件.
  • Create PR s. 提交 PR.
  • Create Issue s. 反馈问题, 提供您的建议或者想法.

更多:

Polyglot Translators: Let's do i18n easier! 一款国际化插件小助手!

mns: Money Never Sleeps! 自己开发的一款 IDEA 插件介绍.

Json Master masters JSON!的更多相关文章

  1. [.net 面向对象程序设计进阶] (13) 序列化(Serialization)(五) Json 序列化利器 Newtonsoft.Json 及 通用Json类

    [.net 面向对象程序设计进阶] (13) 序列化(Serialization)(五) Json 序列化利器 Newtonsoft.Json 及 通用Json类 本节导读: 关于JSON序列化,不能 ...

  2. jsoncpp构造json字符串和json数组

    jsoncpp构造json字符串和json数组 参考文章:Jsoncpp的简单使用 下载json文件夹放在c++项目的include目录下,在CMakeLists中include进去,然后就可以在代码 ...

  3. hive之Json解析(普通Json和Json数组)

    一.数据准备 现准备原始json数据(test.json)如下: {"movie":"1193","rate":"5", ...

  4. .Net使用Newtonsoft.Json.dll(JSON.NET)对象序列化成json、反序列化json示例教程

    JSON作为一种轻量级的数据交换格式,简单灵活,被很多系统用来数据交互,作为一名.NET开发人员,JSON.NET无疑是最好的序列化框架,支持XML和JSON序列化,高性能,免费开源,支持LINQ查询 ...

  5. json数据格式及json校验格式化工具简单实现

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, ...

  6. Json对象与Json字符串互转(4种转换方式)

    Json字符与Json对象的相互转换方式有很多,接下来将为大家一一介绍下,感兴趣的朋友可以参考下哈,希望可以帮助到你 1>jQuery插件支持的转换方式: 复制代码代码如下: $.parseJS ...

  7. 使用 Json.Net 对Json文本进行 增删改查

    JSON 已经成为当前主流交互格式, 如何在C#中使用 Json.Net 对Json文本进行 增删改查呢?见如下代码 #region Create (从零创建) public static strin ...

  8. jQuery中json对象与json字符串互换

    json字符串转json对象:jQuery.parseJSON(jsonStr); json对象转json字符串:JSON.stringify(jsonObj); 根据“|”把字符串变成数组.spli ...

  9. JavaScript Json对象和Json对象字符串的关系 jsonObj<->JsonString

    JavaScript Json对象和Json对象字符串的关系 jsonObj<->JsonString 如下示例: 直接写的a1就是一个Json对象,a2 就是一个Json对象字符串; 通 ...

随机推荐

  1. keepass+坚果云管理我的密码

    目录 前言 下载安装KeePass 创建一个数据库 配置坚果云 手机用坚果云 总结 前言     KeePass是一款免费.小巧.绿色且开源的密码管理工具,多年来一直深受大众的好评,它能为用户提供一个 ...

  2. 【题解】CF1426E Rock, Paper, Scissors

    题目戳我 \(\text{Solution:}\) 考虑第二问,赢的局数最小,即输和平的局数最多. 考虑网络流,\(1,2,3\)表示\(Alice\)选择的三种可能性,\(4,5,6\)同理. 它们 ...

  3. ECMASctipt6总结

    1.let 变量声明以及特性 声明变量 let a; let b, c, d; let e = 1; let f = 2, g = 3; 特性 1.不能重复声明 2.块级作用域  只在块级作用域有效 ...

  4. 成理信安协会反序列化01-利用fastcoll实现md5碰撞

    虽然是反序列化的题目,但主要考点在利用fastcoll实现md5碰撞. 直接上源码 <?php show_source(__FILE__); class CDUTSEC { public $va ...

  5. Git本地已有项目关联远程仓库

    情况: 本地已有项目 远程有个仓库 目的: 本地项目关联远程仓库 首先要把本地项目变成git管理的,也就是建立一个本地仓库,可以在项目目录下面使用git init命令初始化仓库,初始化成功之后会在仓库 ...

  6. android中判断一个链接是否是有效的

    private boolean isValid(String urlString) { try { URL url = new URL(urlString); return URLUtil.isVal ...

  7. IGBT以及MOSFET驱动参数的计算方法

  8. OpenCV计算机视觉学习(4)——图像平滑处理(均值滤波,高斯滤波,中值滤波,双边滤波)

    如果需要处理的原图及代码,请移步小编的GitHub地址 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPractice &q ...

  9. 【树形DP】JSOI BZOJ4472 salesman

    题目内容 vjudge链接 某售货员小T要到若干城镇去推销商品,由于该地区是交通不便的山区,任意两个城镇 之间都只有唯一的可能经过其它城镇的路线. 小T 可以准确地估计出在每个城镇停留的净收 益.这些 ...

  10. sublime破解 mac版本下载

    date: "2020-10-18T10:03:01+08:00" title: "sublime破解 mac版本下载" tags: ["sublim ...