当前流行的接口服务通常要求传 json 类型的数据。本文记录一下,我的处理方式。
原始表数据

表结构

目标JSON数据

步骤
1.创建数据库连接

2.创建生成JSON转换
1.表输入

2.表行数据转成json

3.解析每行的JSON结果

4.每行的json结果写入数据库

2.创建每行JSON结果组合的转换
1.表数据输入

2.合并拼接每行的json结果

3.java脚本处理拼接好的字符串,组装成模板结果
public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException {
if (first) {
first = false;
}
Object[] r = getRow();
if (r == null) {
setOutputDone();
return false;
}
r = createOutputRow(r, data.outputRowMeta.size());
String json = get(Fields.In, "json").getString(r);
json = "{\"data\":["+json+"]}";
get(Fields.Out, "json").setValue(r, json);
putRow(data.outputRowMeta, r);
return true;
}

4.输出或使用生成的json字符串
为了说明操作步骤,我只是把最后生成的内容输出到了文本文档。实际操作中可直接用相应的组件使用生成的结果

3.创建表数据生成json的汇总job

4.运行后查看结果
表数据

生成的JSON数据

782

被折叠的 条评论
为什么被折叠?



