Javascript 有人举过如何使用修改过的Java脚本值处理返回Json(url)的例子吗?
有人举过如何使用修改过的Java脚本值处理返回Json(url)的例子吗? 按照我需要的url json中的数据进行操作:Javascript 有人举过如何使用修改过的Java脚本值处理返回Json(url)的例子吗?,javascript,json,pentaho,kettle,data-integration,Javascript,Json,Pentaho,Kettle,Data Integration,有人举过如何使用修改过的Java脚本值处理返回Json(url)的例子吗? 按照我需要的url json中的数据进行操作: { “结果”:{ “数据”:[ { “名称”:“第1页”, “期间”:“直径”, “价值观”:[ { “价值”:4, “结束时间”:“2016-03-25” }, { “价值”:2, “结束时间”:“2016-03-26” }, { “值”:0, “结束时间”:“2016-03-27” } ], }, { “名称”:“第2页”, “期间”:“直径”, “价值观”:[ {
{
“结果”:{
“数据”:[
{
“名称”:“第1页”,
“期间”:“直径”,
“价值观”:[
{
“价值”:4,
“结束时间”:“2016-03-25”
},
{
“价值”:2,
“结束时间”:“2016-03-26”
},
{
“值”:0,
“结束时间”:“2016-03-27”
}
],
},
{
“名称”:“第2页”,
“期间”:“直径”,
“价值观”:[
{
“价值”:22,
“结束时间”:“2016-03-25”
},
{
“价值”:30,
“结束时间”:“2016-03-26”
},
{
“价值”:88,
“结束时间”:“2016-03-27”
}
],
}
根据您希望在行中输入的数据,使用JSON输入可以更好更快地实现这一点。例如,如果您在字段中写入$…value
和$…end\u time
,则会创建行
如果您想在JavaScript中实现这一点(但这并不是为什么不能在JSON输入中实现这一点的原因),下面是一个示例脚本,让您开始:
var obj = JSON.parse(json);
datas = obj.result.data;
for (var i = 0; i < datas.length; i++) {
var data = datas[i];
for (var ii = 0; ii < data.values.length; ii++) {
var value = data.values[ii];
var row = createRowCopy(getOutputRowMeta().size());
var idx = getInputRowMeta().size();
row[idx++] = value.value;
row[idx++] = value.end_time;
putRow(row);
}
}
trans_Status = SKIP_TRANSFORMATION;
var obj=JSON.parse(JSON);
数据=obj.result.data;
对于(变量i=0;i
记住将您添加到行中的两个值添加到步骤的输出字段中。value-string和end_time-string。谢谢您的帮助,您是对的,不需要js,只需要json。
但我有问题。
获取捕获名称,但值和日期不捕获。
我正在使用:
$…日期[]。名称
$…Date[].Values(问题在于,它加载三个值(value、end_time)并且只需要一个。
我尝试了$.value,它给出了错误,然后显示它有多个值
我得到了它,我使用了一个步骤选择值,分割字段和行法线
非常感谢!
Santana,Marcos真的不清楚你想做什么。问题是什么?这不起作用,pentaho Ketter的ecmascript,e4x,没有JSON.parse函数。这是我发布答案时测试的,它起作用了。JSON.parse?嗯!你使用的是哪个版本的pentaho?