对于一个软件开发人员, 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. 06 C语言变量

    C语言变量 变量的本质 变量的本质其实是程序可操作的存储区的名称. C 中每个变量都有特定的类型,类型决定了变量存储的大小的范围,在范围内的值都可以存储在内存中,运算符可应用于变量上. 变量的名称可以 ...

  2. 在程序开发中,++i 与 i++的区别在哪里?

    哈哈哈! 从大学开始又忘了...蜜汁问题哈 参考来源:https://www.zhihu.com/question/19811087/answer/80210083 i++ 与 ++i 的主要区别有两 ...

  3. 利用Python+pyecharts+tushare图形化展示股票历史财务信息

    在微信或其他平台上,经常能看到别人推荐股票,分析的头头是道,让自己懊恼于没有早点关注到这只股票,好像错失了几个亿.但是投资股票又忌讳听消息跟风,总不能看到别人推荐自己就无脑买入. 看到了一只股票,自己 ...

  4. 对lambda表达式的字节码实现个人理解 - 简单描述

    暂且抛开具体的代码实现,谈谈个人的理解. 常规的方法调用,具体由哪条指令来执行,实际都是在JVM的规则中就定下来了,比如构造方法使用invokeSpecial,静态方法使用invokeStatic.现 ...

  5. RHSA-2018:3032-低危: binutils 安全和BUG修复更新

    [root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 修复命令: 使用root账号登陆She ...

  6. 高性能HTTP加速器Varnish--基础知识

    一.Varnish 概述 Varnish 是一款高性能且开源的反向代理服务器和HTTP加速器,它的开发者 Poul-Henning Kamp 是 FreeBSD 核心的开发人员之一. 与传统的 Squ ...

  7. 访问 LNMP 报 502 Bad Gateway 错误的解决办法

    LNMP : Linux + Nginx + MySQL + PHP Nginx 出现502有很多原因,但大部分原因可以归结为资源数量不够用,也就是说后端 PHP-FPM 处理有问题,Nginx 将正 ...

  8. golang执行exec命令

    创建对象: cmd, err := exec.Command("echo", "show me")   执行命令: cmd.Run()  //Run 阻塞进程, ...

  9. Cesium资料

    CesiumLab论坛:https://github.com/cesiumlab/cesium-lab-forum/issues简书上的Cesium实验室文集:https://www.jianshu. ...

  10. C语言入门编程需要掌握的核心要点有哪些? 为你总结了这20个!

    摘要: C语言作为编程的入门语言,学习者如何快速掌握其核心知识点,面对茫茫书海,似乎有点迷茫.为了让各位快速地掌握C语言的知识内容,在这里对相关的知识点进行了归纳. 引言 C语言精简的语法集和标准库, ...