有人有任何关于如何使用修改后的 Java 脚本值处理返回 Json (url) 的示例吗?
Posted
技术标签:
【中文标题】有人有任何关于如何使用修改后的 Java 脚本值处理返回 Json (url) 的示例吗?【英文标题】:Someone have any examples of how to treat return Json (url) using Modified Java Script Value? 【发布时间】:2016-04-08 00:59:40 【问题描述】:从 url json 跟踪我需要的数据:
"result":
"data": [
"name": "page1",
"period": "dia",
"values": [
"value": 4,
"end_time": "2016-03-25"
,
"value": 2,
"end_time": "2016-03-26"
,
"value": 0,
"end_time": "2016-03-27"
],
,
"name": "page2",
"period": "dia",
"values": [
"value": 22,
"end_time": "2016-03-25"
,
"value": 30,
"end_time": "2016-03-26"
,
"value": 88,
"end_time": "2016-03-27"
],
我需要创建这些数据的行。
问候,
桑塔纳,马科斯
【问题讨论】:
实在不清楚你要做什么。 问题是什么? 【参考方案1】:感谢帮助,你说得对,不需要js,只需要json。 但我有问题。 获取名称,但值和日期没有。 我正在使用: $ .. 日期 []。姓名 $ .. 日期 []。值(问题就在这里,它加载了三个值(value,end_time)并且只需要一个。 我试过 $ .value 它给出了错误,然后显示它有多个值。
我明白了,我使用了步骤选择值、拆分字段和行规范化器。
非常感谢! 桑塔纳,马科斯
【讨论】:
【参考方案2】:根据您想要的行中的数据,这可以通过 JSON 输入更好更快地实现。例如,如果您在 Fields
中写入 $..value
和 $..end_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;
请记住将添加到该行的两个值添加到步骤的输出字段中。 value - 字符串和 end_time - 字符串。
【讨论】:
这个不行,是pentahokettle,e4x的ecmascript,没有JSON.parse函数。 这在我发布答案时已经过测试,并且有效。 JSON.parse ?呃!你用的是哪个版本的 pentaho?以上是关于有人有任何关于如何使用修改后的 Java 脚本值处理返回 Json (url) 的示例吗?的主要内容,如果未能解决你的问题,请参考以下文章