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字符串从IOS Native发送到Javascript(JSON.Parse)时出现Json Parse错误[重复]