java - 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 工具,它遇到了同样的问题,甚至更多。
任何帮助[非常感谢],尽我所能。
配置示例 链接
解决方案
我在我的环境中重新创建了您的转换,并收到了相同的结果。但是,我注意到以下内容:
- 预览数据选项卡显示带有常规双引号的数据,而不是转义字符双引号 (")。
- 当我尝试继续转换时,即使用 JSON 输出作为下一阶段的输入时,它会知道转义字符双引号并将其转换为常规双引号。
因此,我的结论是,您应该继续在 Pentaho 内部的 API 调用中使用 JSON,以便它可以自动处理 escape-char 双引号,或者您应该将文件作为常规文本文件进行后处理,您将在其中手动转换每个 escape-char 双引号转换为常规双引号。
推荐阅读
- python - Plotly Dash:单击时如何更改按钮颜色?
- docker - Docker Swarm 和 Postgraphile:如何添加 DATABASE_URL_FILE 环境变量?
- java - 通过api打开/关闭spring timer并得到通知
- arrays - 循环遍历 n 对值的二维数组还是有 n 个 if 语句更好?- 爪哇
- entity-framework - 如果子项已准备好在另一个语句中调用,则实体框架包括意外子项
- spring-boot - RestTemplate 超时未超过 30 秒
- sqlite - 如何在 SQLite DATETIME 字段中获取时间值的总和
- c++ - 为什么动态初始化发生在 gcc 中的静态初始化之前
- android - 如何在进度条中心添加下载按钮或自定义布局?
- python - Tensorflow 错误 - “容器 localhost 不存在。(找不到资源:localhost/_AnonymousVar0)”