用Javascript代替json输入步骤

时间:2013-10-11 10:57:44

标签: json mongodb pentaho kettle e4x

我通过Kettle转换将数据从mongodb集合加载到mysql表。 首先,我使用MongodbInput提取它们然后使用json输入步骤。 但由于json输入步骤的性能非常低,我想用一个替换它 javacript脚本。 我是Javascript的初学者,即使我尝试了一些东西,水壶javascript脚本也无法识别任何关键字。

任何人都可以给我示例代码,使用javascript将Json数据转换为不同的列吗?

2 个答案:

答案 0 :(得分:1)

要解决您的问题,您需要看到三个方面:

  1. 从MongoDB阅读
  2. 从JSON读书
  3. 从(可能)String
  4. 读取

    从MongoDB读取除非您更改了界面,否则MongoDB不会返回JSON而是返回BSON文件(〜二进制JSON)。您需要查看关于读取和编写BSON的MongoDB文档:可能类似于BSON.to()BSON.from(),但我不清楚它。

    从JSON读取在您使用JSON格式的BSON后,您可以使用JSON.stringify()阅读它,并返回String

    从(可能)字符串读取如果要使用JSON的功能(为什么还要使用JSON?),您还希望使用返回JSON对象的JSON.parse()

    我的经验是,使用String将JSON对象从一个步骤发送到另一个步骤并不是一个坏主意,即在JavaScript步骤结束时,将JSON对象写入{{ 1}}并且在下一个JavaScript步骤的开头(可以在流的下游),你将它解析回JSON以使用它。

    我希望这能回答你的问题。

    PS:编写JavaScript步骤需要您学习JavaScript。您不必是主人,但需要基础知识。没有办法解决它。

答案 1 :(得分:0)

您可以使用 json输入步骤来获取此json的值并放入公共行