解析 PDI 的 JSON 文件

Posted

技术标签:

【中文标题】解析 PDI 的 JSON 文件【英文标题】:Parsing JSON file for PDI 【发布时间】:2016-02-23 19:22:47 【问题描述】:

我正在尝试使用 PDI (Pentaho) 处理一些不均匀的 JSON 文件,在尝试了很多本地工具之后,我发现我需要在处理 JSON 文件之前对其进行解析。 这是仅两行的示例:

[  
  "UID": "34531513", 
  "identities": 
    [
      "provider": "facebook",
      "providerUID": "123145517",
      "isLoginIdentity": true,
      "oldestDataUpdatedTimestamp": 145227161126
     ,
     
      "provider": "site",
      "providerUID": "321315415153",
      "isLoginIdentity": false,
      "oldestDataUpdated": "2015-07-14T13:37:43.682Z",
      "oldestDataUpdatedTimestamp": 1436881063682
      ]
,

 "UID": "1234155",
 "identities":
      [
       "provider": "facebook",
       "providerUID": "123145517",
       "isLoginIdentity": true,
       "oldestDataUpdatedTimestamp": 145227161126
       ]
]

这里的问题是,在身份内部的不同值下,我没有键字段 (UID)。但是我希望每个不同的身份都有不同的行,而不会丢失他们的 UID。这样,新密钥将是 UID+Provider(facebook、site 或 twitter)。

你会推荐什么?

提前谢谢你,

马丁

【问题讨论】:

【参考方案1】:

要在 Pentaho 中解决这个问题,您必须链接 JSON 输入。

在您的第一个输入中获取UID

然后在第二步解码身份:

【讨论】:

以上是关于解析 PDI 的 JSON 文件的主要内容,如果未能解决你的问题,请参考以下文章

比较 PDI 中的文件名

您可以在 Pentaho 数据集成 (PDI) 中动态设置固定文件输入列定义吗?

在 Pentaho BI 服务器中使用 PDI 转换作为报表参数的数据源

pentaho 勺子/PDI:如何创建具有当前日期的文件夹?

如何屏蔽 json 字段中的选定值 - Postgresql 9.3 和 PDI

在 PDI / Spoon 中复制/移动文件会产生“不是文件”错误