在一个输出中合并多个JSON
我正在从事一个BI项目,需要将两个JSON合并到一个输出中,以插入MongoDB 作业屏幕: 第一个JSON是这样的:在一个输出中合并多个JSON,json,mongodb,etl,talend,Json,Mongodb,Etl,Talend,我正在从事一个BI项目,需要将两个JSON合并到一个输出中,以插入MongoDB 作业屏幕: 第一个JSON是这样的: { "idCommand": 1 "name": "Maurice" } { "products": [ { "name": "Banana" }, { "name": "Orange" }, ] } 第二个JSON是这样的: { "idCom
{
"idCommand": 1
"name": "Maurice"
}
{
"products": [
{
"name": "Banana"
},
{
"name": "Orange"
},
]
}
第二个JSON是这样的:
{
"idCommand": 1
"name": "Maurice"
}
{
"products": [
{
"name": "Banana"
},
{
"name": "Orange"
},
]
}
我们想要的最终JSON:
{
"idCommand": 1
"name": "Maurice",
"products": [
{
"name": "Banana"
},
{
"name": "Orange"
},
]
}
根据注释创建:
“包含关联的产品”-没有可见的关联。就我所理解的这个结果而言,可以将记录串联起来是非常简单的。但是如果这只是两个表,您应该考虑在Oracle中对表进行
join
ing,select
result并编写JSON字段。应该容易得多。同样,这取决于表是否可连接。这是无连接,这是一个简单的连接。您确定第一个和第二个源中始终有一条可连接的记录吗?我将首先对这两个字段进行concat,然后使用tWriteJSONField
。唯一的问题是会有一个外部循环和一个内部循环(首先对所有第一个JSON执行此操作,然后是第一个JSON#2…),而不是据我所知的1:1循环。是的,我确定,在我的oracle数据库中有两个表:commands和commands#product。commands包含command的标题,commands\u product包含与命令关联的产品。我只想用嵌套数组创建一个json。“包含关联的产品”-没有可见的关联。就我所理解的这个结果而言,可以将记录串联起来是非常简单的。但是如果这只是两个表,您应该考虑在Oracle中对表进行join
ing,select
result并编写JSON字段。应该容易得多。同样,这取决于这些桌子是否可以连接。非常感谢,这很有效!我使用内部连接。MongoDB还有一个问题,当我用“tWriteJSONField”格式化JSON并用tMongoDBOutput发送它时,结果是:{“\u id”:“…”,“output”:“{“idCommand”:1,…”}而不是:{“\u id”:“…”,“idCommand”:1,…”,我根据注释创建了一个答案。如果它对你有所帮助,请考虑接受它。对于MongoDB问题,请创建另一个问题,然后我们可以进行研究。