datagrip导出json格式数据
[TOC]
一、导出普通格式
1.1 数据如下:
exportJson_1.png
1.2 选中待复制内容
如图所示选中id为2,4 的其中三列
exportJson_2.png
1.3 选择想要复制的格式
- SQL Inserts --->复制为insert语句
- SQL Updates --->复制为update语句
- JSON --->复制为JSON
- 等等
exportJson_3.png
选择SQL Inserts复制结果粘贴如下,其余类似不做演示(你可以自己动手试试)
INSERT INTO demo_schema.t (underline_field, created_by, creation_date) VALUES ('li_si', 'lvweiyang', '2020-09-24 10:46:05');
INSERT INTO demo_schema.t (underline_field, created_by, creation_date) VALUES ('zhao_liu', 'lvweiyang', '2020-09-24 10:46:05');
1.4 复制为json格式
第1.3步中选择JSON后直接通过control+c 或 command+c复制,粘贴就可以得到json格式的数据,如下
[
{
"underline_field": "li_si",
"created_by": "lvweiyang",
"creation_date": "2020-09-24 10:46:05"
},
{
"underline_field": "zhao_liu",
"created_by": "lvweiyang",
"creation_date": "2020-09-24 10:46:05"
}
]
身为一名码农,看到这个结果可能马上就想到,这里能否将json的key导出为驼峰结构??? 答案是肯定的
二、如何复制出驼峰格式的json?
2.1 Go to Scripts Directory
点击下图中Go to Scripts Directory
exportJson_4.png
这时转到下图,这里我们就可以看出每种格式都对应一个groovy的导出脚本,我们只需要重写一下JSON的脚本即可(图中JSONCamel就是我重写的脚本),这里可能需要你略懂一点groovy(我是groovy小白,之前完全没接触过,但代码都是通的,码农能大概看懂)。
exportJson_9.png
2.2 直接复制下图中文件粘贴到同级文件夹下,重命名为JSONCamel
exportJson_5.png
2.3 重写导出脚本
仔细阅读以下JSON0Groovy.json.groovy脚本,不难发现下图处为将字段名称转为string,
exportJson_6.png
所以我们只需在此基础上封装一层,将下划线格式转为驼峰格式即可。
2.4 下划线格式转为驼峰
- 实现一个转驼峰的方法
def convertToCamel (String param) {
if (param == null || param.length()==0) {
return "";
}
int len = param.length();
StringBuilder sb = new StringBuilder(len);
for (int i = 0; i < len; i++) {
String c = param.substring(i, i+1);
if ("_".equals(c)) {
if (++i < len) {
sb.append(param.substring(i, i+1).toUpperCase());
}
} else {
sb.append(c);
}
}
return sb.toString();
}
-
改写2.3中代码如下图
exportJson_7.png
此时已经ok了.
下面再重新复制一次,复制前选择你重写的格式(此时取决于2.2中你重命名的文件名称,我的文件名称为JSONCamel)
exportJson_8.png
复制效果如下,此时已经转为驼峰格式。
[
{
"underlineField": "li_si",
"createdBy": "lvweiyang",
"creationDate": "2020-09-24 10:46:05"
},
{
"underlineField": "zhao_liu",
"createdBy": "lvweiyang",
"creationDate": "2020-09-24 10:46:05"
}
]
三、小结
由此可看成datagrip功能是相当强大的,复制数据时你可以选择任意的格式(这里包括insert、update sql语句,csv,html,json,xml等),如果datagrip提供的格式不满足你,你可以参考本文第二章节重新写一个groovy脚本。