在Talend中

时间:2017-03-13 19:11:26

标签: json talend

在json上,如下所示

{ 
  'a' : 'hello'
  'b' : { 'c' : 'hello', 'd': 'hello2' }
}

我无法提取c和d因为组件在b上循环,如果我指定json循环路径为"$.*"和要提取的字段'b'

为简单的json提取配置tExtractJsonFields的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

请参阅下面的示例。我使用的是tFileInputJSON组件,而不是tExtractJSONFields,但它们具有相同的可用属性。

图1:json文件。与你的唯一区别是我在a和b字段之间添加了一个逗号,我使用的是双引号而不是单引号,我将第一个值更改为hello_a。否则它与你的例子相同。

enter image description here

图2:输入组件。这就是魔术发生的地方。您可以看到我使用xPath而不是JSONPath(我的运气更好)。

enter image description here

图3:这是所有值都被提取的证据。

enter image description here

您还可以将json设置为元数据并在那里进行实验。请参见图4.这也表明Talend可以访问文件中的所有数据,并允许您试验文件结构和路径语句以获得即时结果。

enter image description here