我试图为下面的输入创建一个转换:
{
"Empresa": "13530",
"Rotas": {
"Codigo": "4740523719166",
"Entregas": [
{
"Cliente": {
"Codigo": "4083082796",
"Nome": "EMPRESA TESTE",
"Tipo": 1
},
"Pedidos": [
{
"Codigo": "5327053",
"NotasFiscais": [
{
"Numero": "216550",
"TipoOperacao": "SAIDA",
"NotaFiscalItens": [
{
"Produto": {
"Codigo": "23702",
"Nome": "PRODUTO TESTE 2"
},
"Quantidade": "5.0000",
"TipoProduto": {
"Descricao": "Diversos",
"Codigo": "1"
}
}
]
}
]
}
]
},
{
"Cliente": {
"Codigo": "4083082796",
"Nome": "EMPRESA TESTE",
"Tipo": 1
},
"Pedidos": [
{
"Codigo": "5327054",
"NotasFiscais": [
{
"Numero": "216558",
"TipoOperacao": "SAIDA",
"NotaFiscalItens": [
{
"Produto": {
"Codigo": "2694",
"Nome": "PRODUTO TESTE02"
},
"Quantidade": "6.0000",
"TipoProduto": {
"Descricao": "Diversos",
"Codigo": "1"
}
}
]
}
]
}
]
},
{
"Cliente": {
"Codigo": "5589685412",
"Nome": "EMPRESA TESTE02",
"Tipo": 1
},
"Pedidos": [
{
"Codigo": "5327060",
"NotasFiscais": [
{
"Numero": "316270",
"TipoOperacao": "SAIDA",
"NotaFiscalItens": [
{
"Produto": {
"Codigo": "219",
"Nome": "PRODUTO EXEMPLO"
},
"Quantidade": "5.0000",
"TipoProduto": {
"Descricao": "Diversos",
"Codigo": "1"
}
}
]
}
]
}
]
}
]
}
}预期的产出为:
{
"Empresa": "13530",
"Rotas": {
"Codigo": "4740523719166",
"Entregas": [
{
"Cliente": {
"Codigo": "4083082796",
"Nome": "EMPRESA TESTE",
"Tipo": 1
},
"Pedidos": [
{
"Codigo": "5327053",
"NotasFiscais": [
{
"Numero": "216550",
"TipoOperacao": "SAIDA",
"NotaFiscalItens": [
{
"Produto": {
"Codigo": "23702",
"Nome": "PRODUTO TESTE 2"
},
"Quantidade": "5.0000",
"TipoProduto": {
"Descricao": "Diversos",
"Codigo": "1"
}
}
]
},
{
"Numero": "216558",
"TipoOperacao": "SAIDA",
"NotaFiscalItens": [
{
"Produto": {
"Codigo": "2694",
"Nome": "PRODUTO TESTE02"
},
"Quantidade": "6.0000",
"TipoProduto": {
"Descricao": "Diversos",
"Codigo": "1"
}
}
]
}
]
}
]
},
{
"Cliente": {
"Codigo": "5589685412",
"Nome": "EMPRESA TESTE02",
"Tipo": 1
},
"Pedidos": [
{
"Codigo": "5327060",
"NotasFiscais": [
{
"Numero": "316270",
"TipoOperacao": "SAIDA",
"NotaFiscalItens": [
{
"Produto": {
"Codigo": "219",
"Nome": "PRODUTO EXEMPLO"
},
"Quantidade": "5.0000",
"TipoProduto": {
"Descricao": "Diversos",
"Codigo": "1"
}
}
]
}
]
}
]
}
]
}
}我无法合并有关“Cliente”的信息,因为它在'Entregas‘数组的两个对象中重复。我需要合并发生,以便引用‘客户’的信息只出现一次。有人能帮我吗?先谢谢你。
发布于 2022-02-26 21:55:55
通过下面这样的构造函数跳转到NotasFiscais开始计算
[
{
"operation": "shift",
"spec": {
"Rotas": {
"Entregas": {
"*": {
"Pedidos": {
"*": {
"NotasFiscais": {
"*": {
"@": "&4[&5].&2"
}
}
}
}
}
}
}
}
}
]然后通过添加适当的&和@符号替换在shift转换中进行开发,然后在最后一步中使用索引值选择列表Entregas的第一个元素,例如
[
{
"operation": "shift",
"spec": {
"*": "&",
"Rotas": {
"*": "&1.&",
"Entregas": {
"*": {
"*": "&3.&2[&1].&",
"Pedidos": {
"*": {
"Codigo": {
"@": "&6.&5[0].&3[&4].&1"
},
"NotasFiscais": {
"*": {
"@": "&7.&6[0].&4[&5].&2"
}
}
}
}
}
}
}
}
},
{
"operation": "shift",
"spec": {
"*": "&",
"Rotas": {
"*": "&1.&",
"Entregas": {
"0": "&2.&1[]"
}
}
}
}
]http://jolt-demo.appspot.com/站点上的演示

https://stackoverflow.com/questions/71270112
复制相似问题