JoltTransformJSON - 3 JSON 次转换
JoltTransformJSON - 3 JSON transformations
我正在使用 JoltTransformJSON 处理器,我认为它非常强大但使用起来很复杂,而且没有太多关于它的文档。
我有以下输入 JSON:
{
"logTypeCode":"FIN",
"eventNumber":"1",
"eventTime":1568066703172,
"eventInfo":{
"eventId":"CREATE_DOMESTIC_STANDING_ORDER",
"eventVersion":"1"
},
"operationInfo":{
"operationId":"DOMESTIC_STANDING_ORDER"
}
}
还有我想要的输出JSON:
{
"body":{
"logTypeCode":"END_OF_TESTING",
"eventNumber":"1",
"eventTime":1568066703172,
"eventInfo":{
"eventId":"CREATE_DOMESTIC_STANDING_ORDER",
"eventVersion":"1"
},
"operationInfo":{
"operationId":"DOMESTIC_STANDING_ORDER"
}
},
"header":{
"date":"${dateInPropertiesFlow}"
},
"customValue":{
"logTypeCode":"END_OF_TESTING",
"ENV":"${anotherPropertie}"
}
}
基本上,我想将出现在“body”字段中的所有内容分组,然后我需要创建另一个名为“header”的字段,其中包含一个字段称为“date”,其值为 属性 通过流程获得,最后我需要一个名为“customValue”的字段,其中值“logTypeCode”必须与该字段具有相同的值那是在“body.logTypeCode”。
我在应用程序中尝试了几种方法 https://jolt-demo.appspot.com/#inception 但我无法让它按我想要的方式工作,目前这是我最接近的方法....
[
{
"operation": "shift",
"spec": {
"*": "body.&"
}
},
{
"operation": "default",
"spec": {
"header": {
"date": "${paramDate}"
}
}
}
]
我做了很多测试,但我得不到我需要的结果...求救!
你可以start和end规范通过modify-overwrite-beta等操作作为
[
{
"operation": "modify-overwrite-beta",
"spec": {
"logTypeCode": "END_OF_TESTING"
}
},
{
"operation": "shift",
"spec": {
"*": "body.&"
}
},
{
"operation": "default",
"spec": {
"header": {
"date": "${dateInPropertiesFlow}"
},
"customValue": {
"logTypeCode": "logTypeCode",
"ENV": "${anotherPropertie}"
}
}
},
{
"operation": "modify-overwrite-beta",
"spec": {
"customValue": {
"logTypeCode": "@(2,body.logTypeCode)"
}
}
}
]
我正在使用 JoltTransformJSON 处理器,我认为它非常强大但使用起来很复杂,而且没有太多关于它的文档。
我有以下输入 JSON:
{
"logTypeCode":"FIN",
"eventNumber":"1",
"eventTime":1568066703172,
"eventInfo":{
"eventId":"CREATE_DOMESTIC_STANDING_ORDER",
"eventVersion":"1"
},
"operationInfo":{
"operationId":"DOMESTIC_STANDING_ORDER"
}
}
还有我想要的输出JSON:
{
"body":{
"logTypeCode":"END_OF_TESTING",
"eventNumber":"1",
"eventTime":1568066703172,
"eventInfo":{
"eventId":"CREATE_DOMESTIC_STANDING_ORDER",
"eventVersion":"1"
},
"operationInfo":{
"operationId":"DOMESTIC_STANDING_ORDER"
}
},
"header":{
"date":"${dateInPropertiesFlow}"
},
"customValue":{
"logTypeCode":"END_OF_TESTING",
"ENV":"${anotherPropertie}"
}
}
基本上,我想将出现在“body”字段中的所有内容分组,然后我需要创建另一个名为“header”的字段,其中包含一个字段称为“date”,其值为 属性 通过流程获得,最后我需要一个名为“customValue”的字段,其中值“logTypeCode”必须与该字段具有相同的值那是在“body.logTypeCode”。
我在应用程序中尝试了几种方法 https://jolt-demo.appspot.com/#inception 但我无法让它按我想要的方式工作,目前这是我最接近的方法....
[
{
"operation": "shift",
"spec": {
"*": "body.&"
}
},
{
"operation": "default",
"spec": {
"header": {
"date": "${paramDate}"
}
}
}
]
我做了很多测试,但我得不到我需要的结果...求救!
你可以start和end规范通过modify-overwrite-beta等操作作为
[
{
"operation": "modify-overwrite-beta",
"spec": {
"logTypeCode": "END_OF_TESTING"
}
},
{
"operation": "shift",
"spec": {
"*": "body.&"
}
},
{
"operation": "default",
"spec": {
"header": {
"date": "${dateInPropertiesFlow}"
},
"customValue": {
"logTypeCode": "logTypeCode",
"ENV": "${anotherPropertie}"
}
}
},
{
"operation": "modify-overwrite-beta",
"spec": {
"customValue": {
"logTypeCode": "@(2,body.logTypeCode)"
}
}
}
]