Javascript 有人举过如何使用修改过的Java脚本值处理返回Json(url)的例子吗?

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页”, “期间”:“直径”, “价值观”:[ {

有人举过如何使用修改过的Java脚本值处理返回Json(url)的例子吗? 按照我需要的url json中的数据进行操作:

{
“结果”:{
“数据”:[
{
“名称”:“第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?