博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用molicode进行json数据处理
阅读量:5778 次
发布时间:2019-06-18

本文共 2757 字,大约阅读时间需要 9 分钟。

hot3.png

使用molicode进行json数据处理

背景描述

在日常工作中,我们常常需要将复杂的json数据进行提取,汇总计算等操作。又或者将json数据提取到Excel文件之中。下面我们通过3个例子介绍一下molicode如何完成这个操作。

示例1:json数据提取

场景:假设我们有一个json数据列表,我们只需要提取其中的 address.provinceId字段:

数据:(数据模型类型为:json)

[    {        "userName":"david",        "gender":"male",        "age":10,        "address":{            "provinceId":1,            "cityId":122,            "countyId":2332        }    },    {        "userName":"lucy",        "gender":"female",        "age":33,        "address":{            "provinceId":12,            "cityId":1224,            "countyId":24332        }    },    {        "userName":"jack",        "gender":"male",        "age":86,        "address":{            "provinceId":4,            "cityId":1252,            "countyId":23326        }    }]

模板代码:

<%    println "用户名称\t省份ID"    data.each {        item ->            println item.userName + "\t" + item.address.provinceId;    }%>

输出:

==============模板输出开始 =================用户名称	省份IDdavid	1lucy	12jack	4==============模板输出结束 =================

示例2:json数据计算

场景:假设我们有一个json数据列表,我们需要计算年龄之和

数据:(数据模型类型为:json)

[    {        "userName":"david",        "gender":"male",        "age":10,        "address":{            "provinceId":1,            "cityId":122,            "countyId":2332        }    },    {        "userName":"lucy",        "gender":"female",        "age":33,        "address":{            "provinceId":12,            "cityId":1224,            "countyId":24332        }    },    {        "userName":"jack",        "gender":"male",        "age":86,        "address":{            "provinceId":4,            "cityId":1252,            "countyId":23326        }    }]

模板代码:

<%    def sumAge = 0;    data.each {        item ->            sumAge += item.age;    }    println "sumAge=" + sumAge;%>

输出:

==============模板输出开始 =================sumAge=129==============模板输出结束 =================

示例3:行列转生成SQL语句

我们常常需要将Excel里面的数据生成SQL,而待处理的数据一般是标准的行列结构。

数据:(数据模型类型为:单元文本处理)

1 张三 12 male 2 李梅 13 female

模板:

<%    data.each {        line ->%>insert into user_info(id,user_name,age,gender,status,created,modified) values(${line.get(0)}, '${line.get(1)}', ${line.get(2)},'${line.get(3)}',1,now(),now());<%}%>

生成结果:

[行列数据生成SQL语句]模板执行成功,输出到前台,应输出路径:/study_output/insert.sql==============模板输出开始 =================insert into user_info(id,user_name,age,gender,status,created,modified) values(1, '张三', 12,'male',1,now(),now() );insert into user_info(id,user_name,age,gender,status,created,modified) values(2, '李梅', 13,'female',1,now(),now() );==============模板输出结束 =================

总结

使用molicode可以做很多编程式的数据处理。当然,你也可以开发好模板,提供给你的朋友或者客户做数据处理之用。模板本身的可编程性是通过groovy脚本,或者velocity模板等实现的,语法都是通用公开的。目前主要还是建议使用groovy temple语法生成。

以上示例模板工程可以从git仓库中下载使用:

molicode使用介绍请使用:

转载于:https://my.oschina.net/davidzhang/blog/3034658

你可能感兴趣的文章
Java enum用法详解
查看>>
去云端的多条途径
查看>>
Docker容器从一知半解到入门
查看>>
关于“方法参数”
查看>>
Redis命令总结
查看>>
unable to write 'random state'错误解决
查看>>
context:annotation-config vs component-scan
查看>>
结构体和类的内存对齐原则-这一次弄清楚了对齐的本质规则
查看>>
Centos编译安装Nginx和PHP
查看>>
Linux-grep命令
查看>>
exgcd、二元一次不定方程学习笔记
查看>>
经典sql
查看>>
CSS3边框会动的信封
查看>>
JavaWeb实例设计思路(订单管理系统)
查看>>
source insight中的快捷键总结
查看>>
PC-IIS因为端口问题报错的解决方法
查看>>
java四种线程池简介,使用
查看>>
一般处理程序(.ashx)中session的使用方法
查看>>
EasyUI笔记(二)Layout布局
查看>>
ios View之间的切换 屏幕旋转
查看>>