如何从 Pentaho xaction 输出 JSON?

Posted

技术标签:

【中文标题】如何从 Pentaho xaction 输出 JSON?【英文标题】:How to output JSON from Pentaho xaction? 【发布时间】:2011-01-21 17:42:21 【问题描述】:

让 Pentaho xaction 以 JSON 格式返回其输出的最佳方法是什么?

我有一个由 Pentaho xactions 驱动的仪表板,它返回 html 片段(表格),然后我将其插入到页面中。它工作正常,但我希望我的 xactions 返回 JSON 而不是 HTML 片段,以使事情更加灵活和可重用。

谢谢。

【问题讨论】:

【参考方案1】:

这里有一个示例

http://sandbox.pentaho.com/api-integration-samples/

让我们知道你是怎么做的

迈克·塔拉洛 销售工程总监 五角大楼

【讨论】:

我不知道模板组件有这种功能。谢谢。 顺便说一句,对于任何有同样问题的人:上面引用的下载中的 json 示例是 action_sequences/json_map_data_no_js.xaction 嗨,我在设计工作室的任何地方都找不到“模板组件”。我只能看到“消息模板”组件。和“模板组件”一样吗? 您回答中的 URL 不再有效。谢谢。 现在没有可用的沙箱,为什么? @Micheal Tarallo【参考方案2】:

查克,

有几种方法可以将服务添加到 Pentaho BIServer(如果您想要返回 JSON,我假设您正在这样做)。使用哪一个取决于您对 Java 的了解程度以及您想深入了解内部工作原理。

选项 a:编写一个使用 javascriptRule 组件的 xaction。您几乎可以使用您在那里编写的 JavaScript 做任何您想做的事情,包括将您想要的任何内容写入 http 响应。这可能是完成你想要的最快的,但可能是肮脏和最难维护的方式

选项 b:编写 BIServer 插件。您可以编写的 BIServer 插件的众多方面之一就是做这件事,插入一种新的服务。许多社区贡献的插件都是这样做的。以 pentaho-cda 为例(http://code.google.com/p/pentaho-cda/)。有关如何编写 BIServer 插件的信息,请参阅http://wiki.pentaho.com/display/ServerDoc2x/Developing+Plugins。在选项 b 中,您需要注意您希望部署到哪个版本的 BIServer,因为插件 api 在不同版本之间会发生一些变化。这里的小故事是,如果您计划部署到 3.7 或更早版本,您想要编写一个 ContentGenerator。如果您可以推迟到下一个主要版本(又名 Sugar),那么您可以使用更好的东西,例如插入实际的 HttpServlet 甚至是 JaxRS 注释类的能力(请参阅 wiki 文档)。

最后,freenode IRC 中的##pentaho 是提问的好地方。

希望这会有所帮助, 亚伦

【讨论】:

以上是关于如何从 Pentaho xaction 输出 JSON?的主要内容,如果未能解决你的问题,请参考以下文章

主题:如何在多个环境中部署带有子报表的 Pentaho 报表

如何使用Pentaho勺子将数据从MySQL数据库推送到Facebook网页

如何在 Pentaho 中将上一步中的字段设置为 JSON 输出文件名?

pentaho 数据集成动态文件名

从 Pentaho Kettle Job 的 java api 调用中获取数据

Pentaho中的Mongodb输入