Javascript 代替 json 输入步骤

Posted

技术标签:

【中文标题】Javascript 代替 json 输入步骤【英文标题】:Javascript in place of json input step 【发布时间】:2013-10-11 10:57:43 【问题描述】:

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

谁能给我示例代码以使用 javascript 将 Json 数据转换为不同的列?

【问题讨论】:

“我是 Java 初学者” - Java 和 JavaScript 是不相关的语言。您能否展示一下您目前拥有的一些代码? 好吧,我一个都不认识 【参考方案1】:

要解决你的问题你需要看三个方面:

    从 MongoDB 读取 从 JSON 读取 从(可能)字符串中读取

从 MongoDB 读取 除非您更改了接口,否则 MongoDB 不会返回 JSON,而是返回 BSON 文件(~binary JSON)。您需要查看有关读写 BSON 的 MongoDB 文档:可能类似于 BSON.to()BSON.from() 但我不知道。

从 JSON 读取一旦你的 BSON 是 JSON 格式,你就可以使用 JSON.stringify() 读取它,它返回一个 String

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

我的经验是,将 JSON 对象从一个步骤发送到另一个步骤,使用 String 不是一个坏主意,即在 JavaScript 步骤结束时,您将 JSON 对象写入 String 和在下一个 JavaScript 步骤开始时(可以在流的更下游),您将其解析回 JSON 以使用它。

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

PS:编写 JavaScript 步骤需要您学习 JavaScript。您不必成为大师,但基础知识是必需的。没有办法。

【讨论】:

谢谢大家的投入..我会尝试学习javascript并尝试一下。【参考方案2】:

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

【讨论】:

猜这对我没有帮助,因为我不想以 json 格式输出,而且 json 输入和输出步骤都非常慢。所以我需要编写一个 javascript 来加快这个过程。 使用 json 输入步骤作为 NOT FINAL 步骤。我的意思是,您使用此步骤,现在您有了可以通过其他步骤正常处理的行。我不明白“输出步骤很慢”的概念。我每天都使用这些步骤,但没有注意到性能比 javascript 步骤差。 对不起,我弄错了,我的意思是 json INPUT 步骤

以上是关于Javascript 代替 json 输入步骤的主要内容,如果未能解决你的问题,请参考以下文章

使用两个 SQL 表为 Javascript 获取 JSON 数据

如何将 Oracle 数据转换为 JSON,然后在 JavaScript 中使用?

JSON数据与Java对象的相互转换

将JSON字符串从IOS Native发送到Javascript(JSON.Parse)时出现Json Parse错误[重复]

JSON 之父新作,JavaScript “葵花宝典”参悟 JS 之道

在两个地方使用一个 excel 列 JSON