Json Master masters JSON!
对于一个软件开发人员, 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 响应.
最后, 开源不易, 尤其是对于全职的开源爱好者. 需要占用不少下班以及周末时间. 如果您觉着这个项目是值得做的, 是做的有意义的, 可以通过以下方式来表达支持:
- Watch/Star/Fork this project. 关注/标星/Fork 该项目.
- Share/Recommend this plugin(JsonMaster) to your friends/work mates. 向朋友或者同事推荐该插件.
- Highly rate JsonMaster in Marketplace. 在应用市场对 JsonMaster 进行评分
- Create Issue s. 反馈问题, 提供您的建议或者想法.
更多:
Polyglot Translators: Let's do i18n easier! 一款国际化插件小助手!
mns: Money Never Sleeps! 自己开发的一款 IDEA 插件介绍.
Json Master masters JSON!的更多相关文章
- [.net 面向对象程序设计进阶] (13) 序列化(Serialization)(五) Json 序列化利器 Newtonsoft.Json 及 通用Json类
[.net 面向对象程序设计进阶] (13) 序列化(Serialization)(五) Json 序列化利器 Newtonsoft.Json 及 通用Json类 本节导读: 关于JSON序列化,不能 ...
- jsoncpp构造json字符串和json数组
jsoncpp构造json字符串和json数组 参考文章:Jsoncpp的简单使用 下载json文件夹放在c++项目的include目录下,在CMakeLists中include进去,然后就可以在代码 ...
- hive之Json解析(普通Json和Json数组)
一.数据准备 现准备原始json数据(test.json)如下: {"movie":"1193","rate":"5", ...
- .Net使用Newtonsoft.Json.dll(JSON.NET)对象序列化成json、反序列化json示例教程
JSON作为一种轻量级的数据交换格式,简单灵活,被很多系统用来数据交互,作为一名.NET开发人员,JSON.NET无疑是最好的序列化框架,支持XML和JSON序列化,高性能,免费开源,支持LINQ查询 ...
- json数据格式及json校验格式化工具简单实现
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, ...
- Json对象与Json字符串互转(4种转换方式)
Json字符与Json对象的相互转换方式有很多,接下来将为大家一一介绍下,感兴趣的朋友可以参考下哈,希望可以帮助到你 1>jQuery插件支持的转换方式: 复制代码代码如下: $.parseJS ...
- 使用 Json.Net 对Json文本进行 增删改查
JSON 已经成为当前主流交互格式, 如何在C#中使用 Json.Net 对Json文本进行 增删改查呢?见如下代码 #region Create (从零创建) public static strin ...
- jQuery中json对象与json字符串互换
json字符串转json对象:jQuery.parseJSON(jsonStr); json对象转json字符串:JSON.stringify(jsonObj); 根据“|”把字符串变成数组.spli ...
- JavaScript Json对象和Json对象字符串的关系 jsonObj<->JsonString
JavaScript Json对象和Json对象字符串的关系 jsonObj<->JsonString 如下示例: 直接写的a1就是一个Json对象,a2 就是一个Json对象字符串; 通 ...
随机推荐
- 02 sublime text3下配置Python的编译运行环境
内容参考如下文章,加入了自己的干货: https://www.cnblogs.com/huluwahaha/p/7503930.html 在sublime中如何配置Python的编译环境呢? 打开Su ...
- C++里的程序 GetDlgItem(IDC_EDIT_INPUTFILE) ->EnableWindow(TRUE)
转载:https://zhidao.baidu.com/question/654519209423407765.html GetDlgItem(IDC_EDIT_INPUTFILE) ->Ena ...
- (转)DBC文件格式解析
Dbc是描述CAN通信报文和信号信息的文件,用Vector Candb++打开. 用记事本打开后,可以看到固定格式,下面的博客做了详细的解析: https://blog.csdn.net/weixin ...
- JavaScript按钮排他思想
要求: 有一系列按钮,要求每单击其中一个,该按钮改变样式(以背景颜色为例),其他按钮恢复保持默认样式. 实现思路: 获取所有按钮元素 首先先把其他按钮的背景颜色去掉 再单独设置自己的样式 代码实现: ...
- Dockerize ASP。净样板项目
Get the source code from the Github repository. 介绍 在这篇文章中,我将一步步地向你展示如何在Docker上运行ABP模块零核心模板.然后,我们将讨论其 ...
- 用于ASP.net的MVC模块
下载MVCBricks_SRC - 492.58 KB 表的内容 介绍系统要求游戏闪屏的最终考虑历史 介绍 自从我写上一篇关于ASP的文章以来,已经有很长时间了.净的话题.这次我决定写一些关于它的东西 ...
- 解决FAT32格式U盘安装Windows 10时的报错(错误代码:0x8007000D)
一.现象描述 使用UltraISO软碟通将 Windows 10 version 1909 刻录到U盘内来安装系统. 从U盘启动安装过程中,报错如下: "Windows 无法打开所需的文件 ...
- Makefile-3-书写规则
目录 前言 概念 Chapter 3:书写规则 3.3 在规则中使用通配符 3.4 文件搜索 3.8 自动生成依赖性 原理 * 直接解析例子 ** sed 命令 参考 书籍 前言 本笔记主要记录Mak ...
- javascript里面的this指向问题
1:一般情况下this最终指向调用它的那个对象. 2:全局作用域或者普通函数中的this都会指向window. 例1:console.log(this); // 在控制台输出的是BOM顶级对象 wi ...
- 【差分】POJ 3263 Tallest Cow
题目大意 POJ链接 给出\(n\)头牛的身高,和\(m\)对关系,表示牛\(a[i]\)与\(b[i]\)可以相互看见.已知最高的牛为第\(p\)头,身高为\(h\). 求每头牛的身高最大可能是多少 ...