kettle 调用post接口 出现非法字符 ,kettle如何调用post接口并解析
1.kettle post接口非法字符
此post接口在postman中是可以成功调用,但是在kettle中调用就会报错,具体报错信息请看下面
排查了很久报错原因是非法字符,最后查出是时间格式的问题,此接口的入参为
jsonArgs=start_time:2018-07-24 00:00:00;end_time:2018-07-26 00:00:00;account:xfzn01
参数不是json格式,每个参数也没有用双引号引起来
时间中间有空格,kettle自动解析为两个值,将时间的中间空格除掉就ok了,可以把入参改为json格式
时间改成这个样式就ok了
2.kettle 调用post接口
a.首先使用JavaScript代码 组件将接口的url和参数拼接好,此处我的时间是从前面获取过来的
b.在使用REST Client组件调用接口
c.调用成功后解析接口的值,此接口的返回值是json格式,就使用JSON input组件解析
下图为接口返回值
json解析
d.接口返回值比较多,但是我只想需要 efairyproject_name 等于某一个地方或者多个地方的,
我们可以使用switch/case 组件来操作
不满足条件的执行空操作,满足条件的继续解析device_fire_data_list ,最后将需要的字段数据插入数据库中
下面附上完成的trans