首页 > 解决方案 > Pentaho 数据集成 JSON 输出 /" 而不是 "

问题描述

遇到 Pentaho JSON 转换问题。我想这是一个简单的问题,我只是不知道该工具。我有一个 JSON 输入和一个 JSON 输出,我正在使用自动字段映射。

输入:

{
   "ArrayExample":[
      {
         "fruitId":"asdasg22389khsdall"
      }
   ],
   "name":"Test",
   "fruits":[
      "Apples",
      "Bananas"
   ]
}

输出:

{
   "data":[
      {
         "ArrayExample":"[{\"fruitId\":\"asdasg22389khsdall\"}]",
         "fruits":"[\"Apples\",\"Bananas\"]",
         "name":"Test"
      }
   ]
}

我试图只得到“Apples”而不是“Apples”,但我似乎找不到答案。我想在 API 调用中使用 JSON,但 API 调用不适用于 \"。我什至尝试使用另一个名为 Talend 的 API 工具,它遇到了同样的问题,甚至更多。

任何帮助[非常感谢],尽我所能。

配置示例 链接

标签: javajsonescapingetlpentaho

解决方案


我在我的环境中重新创建了您的转换,并收到了相同的结果。但是,我注意到以下内容:

  1. 预览数据选项卡显示带有常规双引号的数据,而不是转义字符双引号 (")。
  2. 当我尝试继续转换时,即使用 JSON 输出作为下一阶段的输入时,它会知道转义字符双引号并将其转换为常规双引号。

因此,我的结论是,您应该继续在 Pentaho 内部的 API 调用中使用 JSON,以便它可以自动处理 escape-char 双引号,或者您应该将文件作为常规文本文件进行后处理,您将在其中手动转换每个 escape-char 双引号转换为常规双引号。


推荐阅读