我使用CDE在pentaho服务器上创建一个表单。此表单是包含一些输入字段的表。单击按钮,将生成一个作为参数值发送的数组。 IN db表我有3列:alfa,beta,gamma。
//var data = JSON.stringify(array);
var data = [
{"alfa":"some txt","beta":"another text","gamma": 23},
{"alfa":"stxt","beta":"anoxt","gamma": 43}
]
我创建了一个按预期运行的水壶转换。这两行数组插入数据库中,但是当我在Pentaho中通过kettleTransFromFile使用CDA水壶运行相同的水壶转换时,只插入第一行。 这是我的转变:
修改的Java脚本值: data_decode 包含json数组
var data_decode = eval(data.toString());
JSON输入:alfa - $ .. [0] .alpha,beta - $ .. [0] .beta,gamma - $ .. [0] .gamma
...从勺子,水壶命令行都可以,但不是来自Pentaho。 有什么问题?
谢谢! 地理位置
<小时/> 的更新
也许它错过了配置或错误或超自然,但我没有使用这种方法。我找到了一个简单的方法:我用一个简单的java代码(使用beanshell)创建一个可编写脚本的脚本数据源。现在它按预期工作了。我将此表单移到Sparkl插件中。谢谢。
这个问题仍然存在,也许有人想尝试这种方法。
答案 0 :(得分:0)
请使用正确的JSONPath消除副作用:$.*.alpha